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]
|
[project]
|
||||||
name = "simtrace2-pysniff"
|
name = "simtrace2-pysniff"
|
||||||
version = "0.1.0"
|
version = "1.0.0"
|
||||||
description = "Python-based sniffing tool for SIMtrace2 hardware (SIM card communication sniffer)"
|
description = "Python-based sniffing tool for SIMtrace2 hardware (SIM card communication sniffer)"
|
||||||
readme = {file = "README.md", content-type = "text/markdown"}
|
readme = {file = "README.md", content-type = "text/markdown"}
|
||||||
license = {text = "GPL-2.0-or-later"}
|
license = {text = "GPL-2.0-or-later"}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from .gsmtap import GsmtapSender, GsmtapReceiver
|
|||||||
from .pcap import PcapWriter
|
from .pcap import PcapWriter
|
||||||
from .dump import FileDumper, format_message
|
from .dump import FileDumper, format_message
|
||||||
|
|
||||||
__version__ = '0.1.0'
|
__version__ = '1.0.0'
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'SniffSession',
|
'SniffSession',
|
||||||
'DeviceDisconnected',
|
'DeviceDisconnected',
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ from .database import Database
|
|||||||
from .capture import CaptureManager, GsmtapListener, DirectSniffer
|
from .capture import CaptureManager, GsmtapListener, DirectSniffer
|
||||||
from ..gsmtap import build_gsmtap_packet, GSMTAP_SIM_ATR, GSMTAP_SIM_APDU
|
from ..gsmtap import build_gsmtap_packet, GSMTAP_SIM_ATR, GSMTAP_SIM_APDU
|
||||||
from ..pcap import build_pcap, parse_pcap, parse_pcapng
|
from ..pcap import build_pcap, parse_pcap, parse_pcapng
|
||||||
|
from .. import __version__
|
||||||
|
|
||||||
|
|
||||||
def _content_disposition(filename):
|
def _content_disposition(filename):
|
||||||
@@ -151,6 +152,7 @@ class RequestHandler(BaseHTTPRequestHandler):
|
|||||||
active_session = self.db.get_active_session()
|
active_session = self.db.get_active_session()
|
||||||
self._send_json({
|
self._send_json({
|
||||||
'server': 'simtrace-analyser-server',
|
'server': 'simtrace-analyser-server',
|
||||||
|
'version': __version__,
|
||||||
'capture_active': self.capture.active,
|
'capture_active': self.capture.active,
|
||||||
'session_id': self.capture.session_id,
|
'session_id': self.capture.session_id,
|
||||||
'mode': active_session['mode'] if active_session else None,
|
'mode': active_session['mode'] if active_session else None,
|
||||||
|
|||||||
@@ -137,5 +137,39 @@ class TestImportEndpoint(unittest.TestCase):
|
|||||||
self.assertEqual(h.db.count_sessions(), 0)
|
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__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
Reference in new issue
Block a user