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})
Esempio n. 2
0
 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"])
Esempio n. 3
0
 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_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})
Esempio n. 5
0
 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})
 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"])
Esempio n. 7
0
    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})