From 01a593369349a76a01bb9b892d38f92655da0281 Mon Sep 17 00:00:00 2001 From: Chagui- Date: Thu, 21 Nov 2019 12:32:55 -0300 Subject: [PATCH] -Added group structure in metadata in FakeThingGroup, so that describe_group_thing can return the correct structure -fixed typo inside metadata FakeThingType and FakeThingGroup: creationData -> creationDate --- moto/iot/models.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/moto/iot/models.py b/moto/iot/models.py index 9e520b0fd..b7a613cc3 100644 --- a/moto/iot/models.py +++ b/moto/iot/models.py @@ -55,7 +55,7 @@ class FakeThingType(BaseModel): self.thing_type_properties = thing_type_properties self.thing_type_id = str(uuid.uuid4()) # I don't know the rule of id t = time.time() - self.metadata = {"deprecated": False, "creationData": int(t * 1000) / 1000.0} + self.metadata = {"deprecated": False, "creationDate": int(t * 1000) / 1000.0} self.arn = "arn:aws:iot:%s:1:thingtype/%s" % (self.region_name, thing_type_name) def to_dict(self): @@ -69,7 +69,7 @@ class FakeThingType(BaseModel): class FakeThingGroup(BaseModel): def __init__( - self, thing_group_name, parent_group_name, thing_group_properties, region_name + self, thing_group_name, parent_group_name, thing_group_properties, region_name, thing_groups ): self.region_name = region_name self.thing_group_name = thing_group_name @@ -78,7 +78,13 @@ class FakeThingGroup(BaseModel): self.parent_group_name = parent_group_name self.thing_group_properties = thing_group_properties or {} t = time.time() - self.metadata = {"creationData": int(t * 1000) / 1000.0} + self.metadata = {"creationDate": int(t * 1000) / 1000.0} + if parent_group_name: + self.metadata["parentGroupName"] = parent_group_name + self.metadata["rootToParentThingGroups"] = [ + {"groupName": g.thing_group_name, "groupArn": g.arn} + for g in thing_groups + ] self.arn = "arn:aws:iot:%s:1:thinggroup/%s" % ( self.region_name, thing_group_name, @@ -639,6 +645,7 @@ class IoTBackend(BaseBackend): parent_group_name, thing_group_properties, self.region_name, + self.thing_groups ) self.thing_groups[thing_group.arn] = thing_group return thing_group.thing_group_name, thing_group.arn, thing_group.thing_group_id