diff --git a/at_client/common/metadata.py b/at_client/common/metadata.py index 8557dc7..53eda98 100644 --- a/at_client/common/metadata.py +++ b/at_client/common/metadata.py @@ -8,6 +8,7 @@ @dataclass class Metadata: ttl: int = 0 + ttln: int = 0 ttb: int = 0 ttr: int = 0 ccd: bool = False @@ -43,6 +44,7 @@ def from_json(json_str): data = json.loads(json_str) metadata = Metadata() metadata.ttl = data.get('ttl') + metadata.ttl = data.get('ttln') metadata.ttb = data.get('ttb') metadata.ttr = data.get('ttr') metadata.ccd = data.get('ccd') @@ -74,6 +76,7 @@ def from_json(json_str): def from_dict(data_dict): metadata = Metadata() metadata.ttl = data_dict.get('ttl', 0) + metadata.ttln = data_dict.get('ttln', 0) metadata.ttb = data_dict.get('ttb', 0) metadata.ttr = data_dict.get('ttr', 0) metadata.ccd = data_dict.get('ccd', False) @@ -106,6 +109,8 @@ def __str__(self): s = "" if self.ttl: s += f":ttl:{self.ttl}" + if self.ttln: + s += f":ttln:{self.ttln}" if self.ttb: s += f":ttb:{self.ttb}" if self.ttr: diff --git a/pyproject.toml b/pyproject.toml index 58960cf..d967462 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "atsdk" -version = "0.1.0" +version = "0.2.0" description = "Python SDK for atPlatform" authors = ["Umang Shah ","Chris Swan "] maintainers = ["Chris Swan "] diff --git a/test/verbbuilder_test.py b/test/verbbuilder_test.py index 0e952c6..b79ea42 100644 --- a/test/verbbuilder_test.py +++ b/test/verbbuilder_test.py @@ -360,5 +360,15 @@ def test_notify_verb_builder(self): command_without_id = re.sub(r'\bid:[^:]*:', '', command) self.assertRegex(command_without_id, "notify:update:ttl:1000:ttr:-1:isEncrypted:true:@bob:test.dave@alice:valuevaluevalue") + + #with a shared key, with metadata and namespace (no caching) + sk = SharedKey("test", AtSign("@alice"), AtSign("@bob")) + metadata = Metadata(ttln="1000") + sk.metadata = metadata + sk.namespace = ".dave" + command = NotifyVerbBuilder().with_at_key(sk, "valuevaluevalue").build() + command_without_id = re.sub(r'\bid:[^:]*:', '', command) + self.assertRegex(command_without_id, "notify:update:ttln:1000:isEncrypted:true:@bob:test.dave@alice:valuevaluevalue") + if __name__ == '__main__': unittest.main()