Version 1.0.0; expose version in /api/status
First published version. __version__ and pyproject bumped to 1.0.0, /api/status now returns 'version' so the PWA can check compatibility. Tests: 107 (status includes version, package version).
This commit is contained in:
1 parent
73f40ad570
commit
8b7b10b8fa
4 files changed
+38
-2
No files matched your search
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.backends._legacy:_Backend"
|
||||
|
||||
[project]
|
||||
name = "simtrace2-pysniff"
|
||||
version = "0.1.0"
|
||||
version = "1.0.0"
|
||||
description = "Python-based sniffing tool for SIMtrace2 hardware (SIM card communication sniffer)"
|
||||
readme = {file = "README.md", content-type = "text/markdown"}
|
||||
license = {text = "GPL-2.0-or-later"}
|
||||
|
||||
@@ -6,7 +6,7 @@ from .gsmtap import GsmtapSender, GsmtapReceiver
|
||||
from .pcap import PcapWriter
|
||||
from .dump import FileDumper, format_message
|
||||
|
||||
__version__ = '0.1.0'
|
||||
__version__ = '1.0.0'
|
||||
__all__ = [
|
||||
'SniffSession',
|
||||
'DeviceDisconnected',
|
||||
|
||||
@@ -13,6 +13,7 @@ from .database import Database
|
||||
from .capture import CaptureManager, GsmtapListener, DirectSniffer
|
||||
from ..gsmtap import build_gsmtap_packet, GSMTAP_SIM_ATR, GSMTAP_SIM_APDU
|
||||
from ..pcap import build_pcap, parse_pcap, parse_pcapng
|
||||
from .. import __version__
|
||||
|
||||
|
||||
def _content_disposition(filename):
|
||||
@@ -151,6 +152,7 @@ class RequestHandler(BaseHTTPRequestHandler):
|
||||
active_session = self.db.get_active_session()
|
||||
self._send_json({
|
||||
'server': 'simtrace-analyser-server',
|
||||
'version': __version__,
|
||||
'capture_active': self.capture.active,
|
||||
'session_id': self.capture.session_id,
|
||||
'mode': active_session['mode'] if active_session else None,
|
||||
|
||||
@@ -137,5 +137,39 @@ class TestImportEndpoint(unittest.TestCase):
|
||||
self.assertEqual(h.db.count_sessions(), 0)
|
||||
|
||||
|
||||
class TestVersion(unittest.TestCase):
|
||||
def test_package_version(self):
|
||||
from simtrace2_pysniff import __version__
|
||||
self.assertEqual(__version__, '1.0.0')
|
||||
|
||||
def test_status_includes_version(self):
|
||||
import os
|
||||
from simtrace2_pysniff.server.server import RequestHandler
|
||||
from simtrace2_pysniff.server.database import Database
|
||||
from simtrace2_pysniff import __version__
|
||||
|
||||
class FakeCapture:
|
||||
active = False
|
||||
session_id = None
|
||||
|
||||
class Fake(RequestHandler):
|
||||
def __init__(self, db):
|
||||
self.db = db
|
||||
self.capture = FakeCapture()
|
||||
self._json = None
|
||||
|
||||
def _send_json(self, data, status=200):
|
||||
self._json = data
|
||||
|
||||
tmp = tempfile.NamedTemporaryFile(suffix='.db', delete=False)
|
||||
tmp.close()
|
||||
db = Database(tmp.name)
|
||||
self.addCleanup(lambda: (db._conn.close(), os.remove(tmp.name)))
|
||||
|
||||
h = Fake(db)
|
||||
h._handle_status()
|
||||
self.assertEqual(h._json['version'], __version__)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user