def test_resource_builder_happy_path(self): conn = platform.connection() builder = platform.resource_builder(connection=conn, capability="temperature", uniq_key="region") self.assertTrue(builder.resources == {}) builder.register("Pinheiros", "Sensor em Pinheiros", ["temperature"]) self.assertTrue("Pinheiros" in builder.resources.keys()) builder.send_data("Pinheiros", {"temperature": 25})
def test_resource_without_capability(self): conn = platform.connection() builder = platform.resource_builder(connection=conn, capability="myweirdcap", uniq_key="region") with self.assertRaises(exceptions.CapabilityDoesNotExist): builder.register("Pinheiros", "Sensor em Pinheiros", ["myweirdcap"])
def test_resource_send_data_without_registering(self): conn = platform.connection() builder = platform.resource_builder(connection=conn, capability="temperature", uniq_key="region") self.assertTrue("PinheirosZZ" not in builder.resources.keys()) with self.assertRaises(exceptions.ResourceDoesNotExistLocally): builder.send_data("PinheirosZZ", {"temperature": 25}) with self.assertRaises(exceptions.ResourceDoesNotExistRemotelly): resource = { "uniq_key": "PinheirosZZ", "description": "My sensor", "capabilities": ["temperature"], "lat": -23, "lon": -46, "status": "active" } builder.register_locally(resource) builder.send_data("PinheirosZZ", {"temperature": 25})
xml_path = "local" if (RUNNING_ENV=="docker_test"): xml_path = "./validation/trips.xml" else if (RUNNING_ENV=="production"): xml_path = "./production/trips.xml" XML_PATH = "./validation/trips.xml" f = open("docker_validation.init", "a+") nodes = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'] computing_nodes = 13 conn = platform.connection() if not conn.capability_available("city_traffic"): conn.create_capability("city_traffic", "City Traffic", "sensor") car_builder = platform.resource_builder(connection=conn, capability="city_traffic", uniq_key="uuid") gen_id = 1 tree = ET.parse(XML_PATH).getroot() for child in tree: attrs = child.attrib count_to_use = int(int(attrs["count"])/8) for v in range(0, count_to_use): generated_uuid = str(uuid.uuid4()) p = Process(target=register_car, args=(generated_uuid)) p.start() payload = """ {{ class_Car, [#{{id => "{}", origin => "{}", destination => "{}", start_time => {}, start_link => "{}", uuid => "{}" }}], {} }}. """.format(gen_id, attrs["origin"], attrs["destination"], attrs["start"], attrs["link_origin"], generated_uuid, nodes[(v%computing_nodes)]) f.write(payload) gen_id += 1
s = r * random() points.append((x + s * math.cos(theta), y + s * math.sin(theta))) return points def rand_clusters(k, n, r, a, b, c, d): """ return k clusters of n points each in random disks of radius r where the centers of the disk are chosen randomly in [a,b]x[c,d] """ clusters = [] for _ in range(k): x = a + (b - a) * random() y = c + (d - c) * random() clusters.extend(rand_cluster(n, (x, y), r)) return clusters clusters = rand_clusters(4, 50, 0.3, 0, 1, 0, 1) conn = platform.connection() conn.create_capability("local_casas", "localicazao de casas", "sensor") houses = platform.resource_builder(connection=conn, capability="local_casas", uniq_key="id") for house_id in range(1, 199): (lat, lon) = clusters[house_id] houses.register(str(house_id), "House {0} geolocalization".format(house_id), ["local_casas"]) houses.send_data(str(house_id), {"lat": lat, "lon": lon})