-Applied Black
This commit is contained in:
parent
f5ba01c867
commit
e6a12f5bd7
@ -69,7 +69,12 @@ class FakeThingType(BaseModel):
|
||||
|
||||
class FakeThingGroup(BaseModel):
|
||||
def __init__(
|
||||
self, thing_group_name, parent_group_name, thing_group_properties, region_name, thing_groups
|
||||
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
|
||||
@ -81,22 +86,29 @@ class FakeThingGroup(BaseModel):
|
||||
self.metadata = {"creationDate": int(t * 1000) / 1000.0}
|
||||
if parent_group_name:
|
||||
self.metadata["parentGroupName"] = parent_group_name
|
||||
#initilize rootToParentThingGroups
|
||||
if 'rootToParentThingGroups' not in self.metadata:
|
||||
# initilize rootToParentThingGroups
|
||||
if "rootToParentThingGroups" not in self.metadata:
|
||||
self.metadata["rootToParentThingGroups"] = []
|
||||
#search for parent arn
|
||||
# search for parent arn
|
||||
for thing_group_arn, thing_group in thing_groups.items():
|
||||
if thing_group.thing_group_name == parent_group_name:
|
||||
parent_thing_group_structure = thing_group
|
||||
break
|
||||
#if parent arn found (should always be found)
|
||||
if (parent_thing_group_structure):
|
||||
# if parent arn found (should always be found)
|
||||
if parent_thing_group_structure:
|
||||
# copy parent's rootToParentThingGroups
|
||||
if "rootToParentThingGroups" in parent_thing_group_structure.metadata:
|
||||
self.metadata["rootToParentThingGroups"].extend(parent_thing_group_structure.metadata["rootToParentThingGroups"])
|
||||
self.metadata["rootToParentThingGroups"].extend([
|
||||
{"groupName": parent_group_name, "groupArn": parent_thing_group_structure.arn}
|
||||
])
|
||||
self.metadata["rootToParentThingGroups"].extend(
|
||||
parent_thing_group_structure.metadata["rootToParentThingGroups"]
|
||||
)
|
||||
self.metadata["rootToParentThingGroups"].extend(
|
||||
[
|
||||
{
|
||||
"groupName": parent_group_name,
|
||||
"groupArn": parent_thing_group_structure.arn,
|
||||
}
|
||||
]
|
||||
)
|
||||
self.arn = "arn:aws:iot:%s:1:thinggroup/%s" % (
|
||||
self.region_name,
|
||||
thing_group_name,
|
||||
@ -657,7 +669,7 @@ class IoTBackend(BaseBackend):
|
||||
parent_group_name,
|
||||
thing_group_properties,
|
||||
self.region_name,
|
||||
self.thing_groups
|
||||
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
|
||||
|
@ -647,15 +647,23 @@ def test_describe_thing_group_metadata_hierarchy():
|
||||
# describe groups
|
||||
# groups level 1
|
||||
# 1a
|
||||
thing_group_description1a = client.describe_thing_group(thingGroupName=group_name_1a)
|
||||
thing_group_description1a.should.have.key("thingGroupName").which.should.equal(group_name_1a)
|
||||
thing_group_description1a = client.describe_thing_group(
|
||||
thingGroupName=group_name_1a
|
||||
)
|
||||
thing_group_description1a.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_1a
|
||||
)
|
||||
thing_group_description1a.should.have.key("thingGroupProperties")
|
||||
thing_group_description1a.should.have.key("thingGroupMetadata")
|
||||
thing_group_description1a["thingGroupMetadata"].should.have.key("creationDate")
|
||||
thing_group_description1a.should.have.key("version")
|
||||
# 1b
|
||||
thing_group_description1b = client.describe_thing_group(thingGroupName=group_name_1b)
|
||||
thing_group_description1b.should.have.key("thingGroupName").which.should.equal(group_name_1b)
|
||||
thing_group_description1b = client.describe_thing_group(
|
||||
thingGroupName=group_name_1b
|
||||
)
|
||||
thing_group_description1b.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_1b
|
||||
)
|
||||
thing_group_description1b.should.have.key("thingGroupProperties")
|
||||
thing_group_description1b.should.have.key("thingGroupMetadata")
|
||||
thing_group_description1b["thingGroupMetadata"].should.have.length_of(1)
|
||||
@ -663,85 +671,185 @@ def test_describe_thing_group_metadata_hierarchy():
|
||||
thing_group_description1b.should.have.key("version")
|
||||
# groups level 2
|
||||
# 2a
|
||||
thing_group_description2a = client.describe_thing_group(thingGroupName=group_name_2a)
|
||||
thing_group_description2a.should.have.key("thingGroupName").which.should.equal(group_name_2a)
|
||||
thing_group_description2a = client.describe_thing_group(
|
||||
thingGroupName=group_name_2a
|
||||
)
|
||||
thing_group_description2a.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_2a
|
||||
)
|
||||
thing_group_description2a.should.have.key("thingGroupProperties")
|
||||
thing_group_description2a.should.have.key("thingGroupMetadata")
|
||||
thing_group_description2a["thingGroupMetadata"].should.have.length_of(3)
|
||||
thing_group_description2a["thingGroupMetadata"].should.have.key("parentGroupName").being.equal(group_name_1a)
|
||||
thing_group_description2a["thingGroupMetadata"].should.have.key('rootToParentThingGroups')
|
||||
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(1)
|
||||
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a)
|
||||
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn'])
|
||||
thing_group_description2a["thingGroupMetadata"].should.have.key(
|
||||
"parentGroupName"
|
||||
).being.equal(group_name_1a)
|
||||
thing_group_description2a["thingGroupMetadata"].should.have.key(
|
||||
"rootToParentThingGroups"
|
||||
)
|
||||
thing_group_description2a["thingGroupMetadata"][
|
||||
"rootToParentThingGroups"
|
||||
].should.have.length_of(1)
|
||||
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupName"
|
||||
].should.match(group_name_1a)
|
||||
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupArn"
|
||||
].should.match(thing_group1a["thingGroupArn"])
|
||||
thing_group_description2a.should.have.key("version")
|
||||
# 2b
|
||||
thing_group_description2b = client.describe_thing_group(thingGroupName=group_name_2b)
|
||||
thing_group_description2b.should.have.key("thingGroupName").which.should.equal(group_name_2b)
|
||||
thing_group_description2b = client.describe_thing_group(
|
||||
thingGroupName=group_name_2b
|
||||
)
|
||||
thing_group_description2b.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_2b
|
||||
)
|
||||
thing_group_description2b.should.have.key("thingGroupProperties")
|
||||
thing_group_description2b.should.have.key("thingGroupMetadata")
|
||||
thing_group_description2b["thingGroupMetadata"].should.have.length_of(3)
|
||||
thing_group_description2b["thingGroupMetadata"].should.have.key("parentGroupName").being.equal(group_name_1a)
|
||||
thing_group_description2b["thingGroupMetadata"].should.have.key('rootToParentThingGroups')
|
||||
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(1)
|
||||
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a)
|
||||
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn'])
|
||||
thing_group_description2b["thingGroupMetadata"].should.have.key(
|
||||
"parentGroupName"
|
||||
).being.equal(group_name_1a)
|
||||
thing_group_description2b["thingGroupMetadata"].should.have.key(
|
||||
"rootToParentThingGroups"
|
||||
)
|
||||
thing_group_description2b["thingGroupMetadata"][
|
||||
"rootToParentThingGroups"
|
||||
].should.have.length_of(1)
|
||||
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupName"
|
||||
].should.match(group_name_1a)
|
||||
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupArn"
|
||||
].should.match(thing_group1a["thingGroupArn"])
|
||||
thing_group_description2b.should.have.key("version")
|
||||
# groups level 3
|
||||
# 3a
|
||||
thing_group_description3a = client.describe_thing_group(thingGroupName=group_name_3a)
|
||||
thing_group_description3a.should.have.key("thingGroupName").which.should.equal(group_name_3a)
|
||||
thing_group_description3a = client.describe_thing_group(
|
||||
thingGroupName=group_name_3a
|
||||
)
|
||||
thing_group_description3a.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_3a
|
||||
)
|
||||
thing_group_description3a.should.have.key("thingGroupProperties")
|
||||
thing_group_description3a.should.have.key("thingGroupMetadata")
|
||||
thing_group_description3a["thingGroupMetadata"].should.have.length_of(3)
|
||||
thing_group_description3a["thingGroupMetadata"].should.have.key("parentGroupName").being.equal(group_name_2a)
|
||||
thing_group_description3a["thingGroupMetadata"].should.have.key('rootToParentThingGroups')
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2)
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a)
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn'])
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupName'].should.match(group_name_2a)
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupArn'].should.match(thing_group2a['thingGroupArn'])
|
||||
thing_group_description3a["thingGroupMetadata"].should.have.key(
|
||||
"parentGroupName"
|
||||
).being.equal(group_name_2a)
|
||||
thing_group_description3a["thingGroupMetadata"].should.have.key(
|
||||
"rootToParentThingGroups"
|
||||
)
|
||||
thing_group_description3a["thingGroupMetadata"][
|
||||
"rootToParentThingGroups"
|
||||
].should.have.length_of(2)
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupName"
|
||||
].should.match(group_name_1a)
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupArn"
|
||||
].should.match(thing_group1a["thingGroupArn"])
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupName"
|
||||
].should.match(group_name_2a)
|
||||
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupArn"
|
||||
].should.match(thing_group2a["thingGroupArn"])
|
||||
thing_group_description3a.should.have.key("version")
|
||||
# 3b
|
||||
thing_group_description3b = client.describe_thing_group(thingGroupName=group_name_3b)
|
||||
thing_group_description3b.should.have.key("thingGroupName").which.should.equal(group_name_3b)
|
||||
thing_group_description3b = client.describe_thing_group(
|
||||
thingGroupName=group_name_3b
|
||||
)
|
||||
thing_group_description3b.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_3b
|
||||
)
|
||||
thing_group_description3b.should.have.key("thingGroupProperties")
|
||||
thing_group_description3b.should.have.key("thingGroupMetadata")
|
||||
thing_group_description3b["thingGroupMetadata"].should.have.length_of(3)
|
||||
thing_group_description3b["thingGroupMetadata"].should.have.key("parentGroupName").being.equal(group_name_2a)
|
||||
thing_group_description3b["thingGroupMetadata"].should.have.key('rootToParentThingGroups')
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2)
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a)
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn'])
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupName'].should.match(group_name_2a)
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupArn'].should.match(thing_group2a['thingGroupArn'])
|
||||
thing_group_description3b["thingGroupMetadata"].should.have.key(
|
||||
"parentGroupName"
|
||||
).being.equal(group_name_2a)
|
||||
thing_group_description3b["thingGroupMetadata"].should.have.key(
|
||||
"rootToParentThingGroups"
|
||||
)
|
||||
thing_group_description3b["thingGroupMetadata"][
|
||||
"rootToParentThingGroups"
|
||||
].should.have.length_of(2)
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupName"
|
||||
].should.match(group_name_1a)
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupArn"
|
||||
].should.match(thing_group1a["thingGroupArn"])
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupName"
|
||||
].should.match(group_name_2a)
|
||||
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupArn"
|
||||
].should.match(thing_group2a["thingGroupArn"])
|
||||
thing_group_description3b.should.have.key("version")
|
||||
# 3c
|
||||
thing_group_description3c = client.describe_thing_group(thingGroupName=group_name_3c)
|
||||
thing_group_description3c.should.have.key("thingGroupName").which.should.equal(group_name_3c)
|
||||
thing_group_description3c = client.describe_thing_group(
|
||||
thingGroupName=group_name_3c
|
||||
)
|
||||
thing_group_description3c.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_3c
|
||||
)
|
||||
thing_group_description3c.should.have.key("thingGroupProperties")
|
||||
thing_group_description3c.should.have.key("thingGroupMetadata")
|
||||
thing_group_description3c["thingGroupMetadata"].should.have.length_of(3)
|
||||
thing_group_description3c["thingGroupMetadata"].should.have.key("parentGroupName").being.equal(group_name_2b)
|
||||
thing_group_description3c["thingGroupMetadata"].should.have.key('rootToParentThingGroups')
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2)
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a)
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn'])
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupName'].should.match(group_name_2b)
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupArn'].should.match(thing_group2b['thingGroupArn'])
|
||||
thing_group_description3c["thingGroupMetadata"].should.have.key(
|
||||
"parentGroupName"
|
||||
).being.equal(group_name_2b)
|
||||
thing_group_description3c["thingGroupMetadata"].should.have.key(
|
||||
"rootToParentThingGroups"
|
||||
)
|
||||
thing_group_description3c["thingGroupMetadata"][
|
||||
"rootToParentThingGroups"
|
||||
].should.have.length_of(2)
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupName"
|
||||
].should.match(group_name_1a)
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupArn"
|
||||
].should.match(thing_group1a["thingGroupArn"])
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupName"
|
||||
].should.match(group_name_2b)
|
||||
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupArn"
|
||||
].should.match(thing_group2b["thingGroupArn"])
|
||||
thing_group_description3c.should.have.key("version")
|
||||
# 3d
|
||||
thing_group_description3d = client.describe_thing_group(thingGroupName=group_name_3d)
|
||||
thing_group_description3d.should.have.key("thingGroupName").which.should.equal(group_name_3d)
|
||||
thing_group_description3d = client.describe_thing_group(
|
||||
thingGroupName=group_name_3d
|
||||
)
|
||||
thing_group_description3d.should.have.key("thingGroupName").which.should.equal(
|
||||
group_name_3d
|
||||
)
|
||||
thing_group_description3d.should.have.key("thingGroupProperties")
|
||||
thing_group_description3d.should.have.key("thingGroupMetadata")
|
||||
thing_group_description3d["thingGroupMetadata"].should.have.length_of(3)
|
||||
thing_group_description3d["thingGroupMetadata"].should.have.key("parentGroupName").being.equal(group_name_2b)
|
||||
thing_group_description3d["thingGroupMetadata"].should.have.key('rootToParentThingGroups')
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2)
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a)
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn'])
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupName'].should.match(group_name_2b)
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][1]['groupArn'].should.match(thing_group2b['thingGroupArn'])
|
||||
thing_group_description3d["thingGroupMetadata"].should.have.key(
|
||||
"parentGroupName"
|
||||
).being.equal(group_name_2b)
|
||||
thing_group_description3d["thingGroupMetadata"].should.have.key(
|
||||
"rootToParentThingGroups"
|
||||
)
|
||||
thing_group_description3d["thingGroupMetadata"][
|
||||
"rootToParentThingGroups"
|
||||
].should.have.length_of(2)
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupName"
|
||||
].should.match(group_name_1a)
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][0][
|
||||
"groupArn"
|
||||
].should.match(thing_group1a["thingGroupArn"])
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupName"
|
||||
].should.match(group_name_2b)
|
||||
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][1][
|
||||
"groupArn"
|
||||
].should.match(thing_group2b["thingGroupArn"])
|
||||
thing_group_description3d.should.have.key("version")
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user