-Applied Black

This commit is contained in:
Chagui- 2019-11-21 17:57:45 -03:00
parent f5ba01c867
commit e6a12f5bd7
2 changed files with 185 additions and 65 deletions

View File

@ -69,7 +69,12 @@ class FakeThingType(BaseModel):
class FakeThingGroup(BaseModel): class FakeThingGroup(BaseModel):
def __init__( 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.region_name = region_name
self.thing_group_name = thing_group_name self.thing_group_name = thing_group_name
@ -81,22 +86,29 @@ class FakeThingGroup(BaseModel):
self.metadata = {"creationDate": int(t * 1000) / 1000.0} self.metadata = {"creationDate": int(t * 1000) / 1000.0}
if parent_group_name: if parent_group_name:
self.metadata["parentGroupName"] = parent_group_name self.metadata["parentGroupName"] = parent_group_name
#initilize rootToParentThingGroups # initilize rootToParentThingGroups
if 'rootToParentThingGroups' not in self.metadata: if "rootToParentThingGroups" not in self.metadata:
self.metadata["rootToParentThingGroups"] = [] self.metadata["rootToParentThingGroups"] = []
#search for parent arn # search for parent arn
for thing_group_arn, thing_group in thing_groups.items(): for thing_group_arn, thing_group in thing_groups.items():
if thing_group.thing_group_name == parent_group_name: if thing_group.thing_group_name == parent_group_name:
parent_thing_group_structure = thing_group parent_thing_group_structure = thing_group
break break
#if parent arn found (should always be found) # if parent arn found (should always be found)
if (parent_thing_group_structure): if parent_thing_group_structure:
# copy parent's rootToParentThingGroups # copy parent's rootToParentThingGroups
if "rootToParentThingGroups" in parent_thing_group_structure.metadata: if "rootToParentThingGroups" in parent_thing_group_structure.metadata:
self.metadata["rootToParentThingGroups"].extend(parent_thing_group_structure.metadata["rootToParentThingGroups"]) self.metadata["rootToParentThingGroups"].extend(
self.metadata["rootToParentThingGroups"].extend([ parent_thing_group_structure.metadata["rootToParentThingGroups"]
{"groupName": parent_group_name, "groupArn": parent_thing_group_structure.arn} )
]) self.metadata["rootToParentThingGroups"].extend(
[
{
"groupName": parent_group_name,
"groupArn": parent_thing_group_structure.arn,
}
]
)
self.arn = "arn:aws:iot:%s:1:thinggroup/%s" % ( self.arn = "arn:aws:iot:%s:1:thinggroup/%s" % (
self.region_name, self.region_name,
thing_group_name, thing_group_name,
@ -657,7 +669,7 @@ class IoTBackend(BaseBackend):
parent_group_name, parent_group_name,
thing_group_properties, thing_group_properties,
self.region_name, self.region_name,
self.thing_groups self.thing_groups,
) )
self.thing_groups[thing_group.arn] = thing_group self.thing_groups[thing_group.arn] = thing_group
return thing_group.thing_group_name, thing_group.arn, thing_group.thing_group_id return thing_group.thing_group_name, thing_group.arn, thing_group.thing_group_id

View File

@ -647,15 +647,23 @@ def test_describe_thing_group_metadata_hierarchy():
# describe groups # describe groups
# groups level 1 # groups level 1
# 1a # 1a
thing_group_description1a = client.describe_thing_group(thingGroupName=group_name_1a) thing_group_description1a = client.describe_thing_group(
thing_group_description1a.should.have.key("thingGroupName").which.should.equal(group_name_1a) 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("thingGroupProperties")
thing_group_description1a.should.have.key("thingGroupMetadata") thing_group_description1a.should.have.key("thingGroupMetadata")
thing_group_description1a["thingGroupMetadata"].should.have.key("creationDate") thing_group_description1a["thingGroupMetadata"].should.have.key("creationDate")
thing_group_description1a.should.have.key("version") thing_group_description1a.should.have.key("version")
# 1b # 1b
thing_group_description1b = client.describe_thing_group(thingGroupName=group_name_1b) thing_group_description1b = client.describe_thing_group(
thing_group_description1b.should.have.key("thingGroupName").which.should.equal(group_name_1b) 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("thingGroupProperties")
thing_group_description1b.should.have.key("thingGroupMetadata") thing_group_description1b.should.have.key("thingGroupMetadata")
thing_group_description1b["thingGroupMetadata"].should.have.length_of(1) 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") thing_group_description1b.should.have.key("version")
# groups level 2 # groups level 2
# 2a # 2a
thing_group_description2a = client.describe_thing_group(thingGroupName=group_name_2a) thing_group_description2a = client.describe_thing_group(
thing_group_description2a.should.have.key("thingGroupName").which.should.equal(group_name_2a) 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("thingGroupProperties")
thing_group_description2a.should.have.key("thingGroupMetadata") thing_group_description2a.should.have.key("thingGroupMetadata")
thing_group_description2a["thingGroupMetadata"].should.have.length_of(3) 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(
thing_group_description2a["thingGroupMetadata"].should.have.key('rootToParentThingGroups') "parentGroupName"
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(1) ).being.equal(group_name_1a)
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a) thing_group_description2a["thingGroupMetadata"].should.have.key(
thing_group_description2a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn']) "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") thing_group_description2a.should.have.key("version")
# 2b # 2b
thing_group_description2b = client.describe_thing_group(thingGroupName=group_name_2b) thing_group_description2b = client.describe_thing_group(
thing_group_description2b.should.have.key("thingGroupName").which.should.equal(group_name_2b) 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("thingGroupProperties")
thing_group_description2b.should.have.key("thingGroupMetadata") thing_group_description2b.should.have.key("thingGroupMetadata")
thing_group_description2b["thingGroupMetadata"].should.have.length_of(3) 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(
thing_group_description2b["thingGroupMetadata"].should.have.key('rootToParentThingGroups') "parentGroupName"
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(1) ).being.equal(group_name_1a)
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a) thing_group_description2b["thingGroupMetadata"].should.have.key(
thing_group_description2b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn']) "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") thing_group_description2b.should.have.key("version")
# groups level 3 # groups level 3
# 3a # 3a
thing_group_description3a = client.describe_thing_group(thingGroupName=group_name_3a) thing_group_description3a = client.describe_thing_group(
thing_group_description3a.should.have.key("thingGroupName").which.should.equal(group_name_3a) 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("thingGroupProperties")
thing_group_description3a.should.have.key("thingGroupMetadata") thing_group_description3a.should.have.key("thingGroupMetadata")
thing_group_description3a["thingGroupMetadata"].should.have.length_of(3) 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(
thing_group_description3a["thingGroupMetadata"].should.have.key('rootToParentThingGroups') "parentGroupName"
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2) ).being.equal(group_name_2a)
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a) thing_group_description3a["thingGroupMetadata"].should.have.key(
thing_group_description3a["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn']) "rootToParentThingGroups"
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"][
"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") thing_group_description3a.should.have.key("version")
# 3b # 3b
thing_group_description3b = client.describe_thing_group(thingGroupName=group_name_3b) thing_group_description3b = client.describe_thing_group(
thing_group_description3b.should.have.key("thingGroupName").which.should.equal(group_name_3b) 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("thingGroupProperties")
thing_group_description3b.should.have.key("thingGroupMetadata") thing_group_description3b.should.have.key("thingGroupMetadata")
thing_group_description3b["thingGroupMetadata"].should.have.length_of(3) 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(
thing_group_description3b["thingGroupMetadata"].should.have.key('rootToParentThingGroups') "parentGroupName"
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2) ).being.equal(group_name_2a)
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a) thing_group_description3b["thingGroupMetadata"].should.have.key(
thing_group_description3b["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn']) "rootToParentThingGroups"
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"][
"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") thing_group_description3b.should.have.key("version")
# 3c # 3c
thing_group_description3c = client.describe_thing_group(thingGroupName=group_name_3c) thing_group_description3c = client.describe_thing_group(
thing_group_description3c.should.have.key("thingGroupName").which.should.equal(group_name_3c) 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("thingGroupProperties")
thing_group_description3c.should.have.key("thingGroupMetadata") thing_group_description3c.should.have.key("thingGroupMetadata")
thing_group_description3c["thingGroupMetadata"].should.have.length_of(3) 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(
thing_group_description3c["thingGroupMetadata"].should.have.key('rootToParentThingGroups') "parentGroupName"
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2) ).being.equal(group_name_2b)
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a) thing_group_description3c["thingGroupMetadata"].should.have.key(
thing_group_description3c["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn']) "rootToParentThingGroups"
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"][
"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") thing_group_description3c.should.have.key("version")
# 3d # 3d
thing_group_description3d = client.describe_thing_group(thingGroupName=group_name_3d) thing_group_description3d = client.describe_thing_group(
thing_group_description3d.should.have.key("thingGroupName").which.should.equal(group_name_3d) 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("thingGroupProperties")
thing_group_description3d.should.have.key("thingGroupMetadata") thing_group_description3d.should.have.key("thingGroupMetadata")
thing_group_description3d["thingGroupMetadata"].should.have.length_of(3) 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(
thing_group_description3d["thingGroupMetadata"].should.have.key('rootToParentThingGroups') "parentGroupName"
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"].should.have.length_of(2) ).being.equal(group_name_2b)
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupName'].should.match(group_name_1a) thing_group_description3d["thingGroupMetadata"].should.have.key(
thing_group_description3d["thingGroupMetadata"]["rootToParentThingGroups"][0]['groupArn'].should.match(thing_group1a['thingGroupArn']) "rootToParentThingGroups"
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"][
"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") thing_group_description3d.should.have.key("version")