From 7134dc65d83d5d28de2743c25ae0672ed63b6311 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Sat, 25 Dec 2021 10:27:38 +0100 Subject: [PATCH] Add version extraction to parser --- src/habitmove/nomie_parser.py | 3 +++ tests/test_nomie_parser.py | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/habitmove/nomie_parser.py b/src/habitmove/nomie_parser.py index efa02d2..1cfd482 100644 --- a/src/habitmove/nomie_parser.py +++ b/src/habitmove/nomie_parser.py @@ -8,3 +8,6 @@ class NomieParser(Parser): def __init__(self, data="{}") -> None: """Load a data set and prepare parser data""" self.data = jsonloads(data) + + def extract_version(self) -> str: + return self.data["nomie"]["number"] diff --git a/tests/test_nomie_parser.py b/tests/test_nomie_parser.py index 0ae6fd3..caafbb7 100644 --- a/tests/test_nomie_parser.py +++ b/tests/test_nomie_parser.py @@ -3,16 +3,26 @@ import json import pytest +@pytest.fixture +def sample_data(): + return '{ "nomie": { "number": "5.6.4", "created": "2021-08-26T08:15:36.898Z", "startDate": "2021-08-26T08:15:36.898Z", "endDate": "2021-08-26T08:15:36.898Z" }}' + + def test_nomie_parser_exists(): sut = NomieParser() assert type(sut) == NomieParser -def test_nomie_Parser_errors_on_invalid_data(): +def test_nomie_parser_errors_on_invalid_data(): with pytest.raises(json.decoder.JSONDecodeError): NomieParser(data="invalid_test_data") -def test_nomie_Parser_saves_data(): +def test_nomie_parser_saves_data(): sut = NomieParser(data='{"test": "entry"}') assert sut.data == {"test": "entry"} + + +def test_nomie_parser_extracts_version(sample_data): + sut = NomieParser(data=sample_data) + assert sut.extract_version() == "5.6.4"