Exemple #1
0
    def testSucceeded(self):
        response_before = self.testapp.get("/api/Relays/product1/serial1/module1")
        json_object_before = simplejson.loads(response_before.body)
        # print(response_before.body)
        self.assertFalse(json_object_before["result"][0]["relay111"]["expectedState"])
        self.assertTrue(json_object_before["result"][0]["relay222"]["expectedState"])

        relays = Relays("product1", "serial1", "module1")
        relays.setExpectedState("relay111", datetime.datetime.utcnow() + datetime.timedelta(1), True)
        relays.setExpectedState("relay222", datetime.datetime.utcnow() + datetime.timedelta(1), False)
        response_after = self.testapp.get("/api/Relays/product1/serial1/module1")
        json_object_after = simplejson.loads(response_after.body)
        self.assertTrue(json_object_after["result"][0]["relay111"]["expectedState"])
        self.assertFalse(json_object_after["result"][0]["relay222"]["expectedState"])
Exemple #2
0
    def setUp(self):
        import webtest

        maps.append(("/hello", _Hello))
        app = webapp.WSGIApplication(maps, debug=True)
        self.testapp = webtest.TestApp(app)
        from google.appengine.ext import testbed

        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()

        relays = Relays("product1", "serial1", "module1")
        relays.setExpectedState("relay111", datetime.datetime.utcnow() + datetime.timedelta(1), False)
        relays.setExpectedState("relay222", datetime.datetime.utcnow() + datetime.timedelta(1), True)
Exemple #3
0
    def GET(self, jrequest, jresponse):
        assert isinstance(jrequest, JsonRpcRequest)
        assert isinstance(jresponse, JsonRpcResponse)
        jresponse.setId()

        product_name = jrequest.getPathInfo(3)
        serial_number = jrequest.getPathInfo(4)
        module_id = jrequest.getPathInfo(5)

        relays = Relays(product_name, serial_number, module_id)
        jresponse.addResult(relays)
Exemple #4
0
    def get(self):
        self.sender = GetSender(self.request)
        self.raw_data = putRawData(self.request)
        # self.data_list = putDataList(self.request)
        self.data_list = Data.storeRequest(self.request)
        self.metadata = putMetadata(self.sender, self.raw_data, self.data_list)

        assert isinstance(self.response, webapp.Response)
        self.response.headers["Content-Type"] = "text/plain"
        for key in self.data_list:
            data = db.get(key)
            if data.field == "productName":
                self.productName = data.string
            if data.field == "serialNumber":
                self.serialNumber = data.string
            if data.field == "moduleId":
                self.moduleId = data.string

                # self.response.out.write("field:" + data.field + " string:" + data.string + "\n")

        try:
            relays = Relays(self.productName, self.serialNumber, self.moduleId)
            assert isinstance(relays, Relays)
            l = []
            for k, v in relays.iteritems():
                assert isinstance(v, Relay)
                r = {
                    "relayId": v.relayId,
                    # "scheduledDateTime" : v.scheduledDateTime,
                    "scheduledEpoch": nativeToEpoch(v.scheduledDateTime),
                    "expectedState": v.expectedState,
                }
                l.append(r)

            o = {"relayStates": l}

            self.response.out.write(dumps(o))
        except AttributeError, e:
            l = map(lambda key: db.get(key), self.data_list)
            j = dumps(l)
            self.response.out.write(j)
Exemple #5
0
    def get(self):
        self.sender = GetSender(self.request)
        self.raw_data = putRawData(self.request)
        # self.data_list = putDataList(self.request)
        self.data_list = Data.storeRequest(self.request)
        self.metadata = putMetadata(self.sender, self.raw_data, self.data_list)

        assert isinstance(self.response, webapp.Response)
        self.response.headers['Content-Type'] = "text/plain"
        for key in self.data_list:
            data = db.get(key)
            if data.field == "productName":
                self.productName = data.string
            if data.field == "serialNumber":
                self.serialNumber = data.string
            if data.field == "moduleId":
                self.moduleId = data.string

                #self.response.out.write("field:" + data.field + " string:" + data.string + "\n")

        try:
            relays = Relays(self.productName, self.serialNumber, self.moduleId)
            assert isinstance(relays, Relays)
            l = []
            for k, v in relays.iteritems():
                assert isinstance(v, Relay)
                r = {
                    "relayId": v.relayId,
                    #"scheduledDateTime" : v.scheduledDateTime,
                    "scheduledEpoch": nativeToEpoch(v.scheduledDateTime),
                    "expectedState": v.expectedState
                }
                l.append(r)

            o = {"relayStates": l}

            self.response.out.write(dumps(o))
        except AttributeError, e:
            l = map(lambda key: db.get(key), self.data_list)
            j = dumps(l)
            self.response.out.write(j)
Exemple #6
0
 def testPost(self):
     iso_string = "2013-06-13T19:31:10+09:00"
     response = self.testapp.post(
         b"/api/Relays/product1/serial1/module1", {
             "scheduledDateTime": iso_string,
             "expectedState": True,
             "relayId": "relay5677"
         })
     relays = Relays("product1", "serial1", "module1")
     self.assertEqual(relays["relay5677"].scheduledDateTime,
                      isoToNative(iso_string))
     self.assertTrue(relays["relay5677"].expectedState)
Exemple #7
0
    def POST(self, jrequest, jresponse):
        assert isinstance(jrequest, JsonRpcRequest)
        assert isinstance(jresponse, JsonRpcResponse)
        jresponse.setId()

        product_name = jrequest.getPathInfo(3)
        serial_number = jrequest.getPathInfo(4)
        module_id = jrequest.getPathInfo(5)
        #self.response.headers.add_header(b"Set-Cookie", b"productName=%s" % product_name.encode())
        #self.response.headers.add_header(b"Set-Cookie", b"serialNumber=%s" % serial_number.encode())
        #self.response.headers.add_header(b"Set-Cookie", b"moduleId=%s" % module_id.encode())

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, Relays)
        for relay in jrequest.list:
            relays.setExpectedState(relay["relayId"],
                                    relay["scheduledDateTime"],
                                    relay["expectedState"])
        if jrequest.dict:
            if isinstance(jrequest.dict["relayId"], list) and len(
                    jrequest.dict["relayId"]) == 1:
                relay_id = jrequest.dict["relayId"][0]
            else:
                relay_id = jrequest.dict["relayId"]
            if isinstance(jrequest.dict["scheduledDateTime"], list) and len(
                    jrequest.dict["scheduledDateTime"]) == 1:
                scheduled_date_time = jrequest.dict["scheduledDateTime"][0]
            else:
                scheduled_date_time = jrequest.dict["scheduledDateTime"]
            if isinstance(jrequest.dict["expectedState"], list) and len(
                    jrequest.dict["expectedState"]) == 1:
                expected_state = jrequest.dict["expectedState"][0]
            else:
                expected_state = jrequest.dict["expectedState"]
            relays.setExpectedState(relay_id, scheduled_date_time,
                                    expected_state)
            assert isinstance(jrequest.request, webapp.Request)

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, dict)
        l = []
        for k, v in relays.iteritems():
            l.append(v)
        jresponse.addResult(l)
Exemple #8
0
    def GET(self, jrequest, jresponse):
        assert isinstance(jrequest, JsonRpcRequest)
        assert isinstance(jresponse, JsonRpcResponse)
        jresponse.setId()

        product_name = jrequest.getPathInfo(3)
        serial_number = jrequest.getPathInfo(4)
        module_id = jrequest.getPathInfo(5)
        field = jrequest.getPathInfo(6)

        product_name_data = Data.getByFieldAndString("productName",
                                                     product_name)
        serial_number_data = Data.getByFieldAndString("serialNumber",
                                                      serial_number)
        module_id_data = Data.getByFieldAndString("moduleId", module_id)

        relays = Relays(product_name, serial_number, module_id)
        jresponse.addResult(relays)
Exemple #9
0
    def POST(self, jrequest, jresponse):
        assert isinstance(jrequest, JsonRpcRequest)
        assert isinstance(jresponse, JsonRpcResponse)
        jresponse.setId()

        product_name = jrequest.getPathInfo(3)
        serial_number = jrequest.getPathInfo(4)
        module_id = jrequest.getPathInfo(5)
        # self.response.headers.add_header(b"Set-Cookie", b"productName=%s" % product_name.encode())
        # self.response.headers.add_header(b"Set-Cookie", b"serialNumber=%s" % serial_number.encode())
        # self.response.headers.add_header(b"Set-Cookie", b"moduleId=%s" % module_id.encode())

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, Relays)
        for relay in jrequest.list:
            relays.setExpectedState(relay["relayId"], relay["scheduledDateTime"], relay["expectedState"])
        if jrequest.dict:
            if isinstance(jrequest.dict["relayId"], list) and len(jrequest.dict["relayId"]) == 1:
                relay_id = jrequest.dict["relayId"][0]
            else:
                relay_id = jrequest.dict["relayId"]
            if isinstance(jrequest.dict["scheduledDateTime"], list) and len(jrequest.dict["scheduledDateTime"]) == 1:
                scheduled_date_time = jrequest.dict["scheduledDateTime"][0]
            else:
                scheduled_date_time = jrequest.dict["scheduledDateTime"]
            if isinstance(jrequest.dict["expectedState"], list) and len(jrequest.dict["expectedState"]) == 1:
                expected_state = jrequest.dict["expectedState"][0]
            else:
                expected_state = jrequest.dict["expectedState"]
            relays.setExpectedState(relay_id, scheduled_date_time, expected_state)
            assert isinstance(jrequest.request, webapp.Request)

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, dict)
        l = []
        for k, v in relays.iteritems():
            l.append(v)
        jresponse.addResult(l)
Exemple #10
0
    def setUp(self):
        import webtest

        maps.append(("/hello", _Hello))
        app = webapp.WSGIApplication(maps, debug=True)
        self.testapp = webtest.TestApp(app)
        from google.appengine.ext import testbed

        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()

        relays = Relays("product1", "serial1", "module1")
        relays.setExpectedState(
            "relay111",
            datetime.datetime.utcnow() + datetime.timedelta(1), False)
        relays.setExpectedState(
            "relay222",
            datetime.datetime.utcnow() + datetime.timedelta(1), True)
Exemple #11
0
    def testSucceeded(self):
        response_before = self.testapp.get(
            "/api/Relays/product1/serial1/module1")
        json_object_before = simplejson.loads(response_before.body)
        #print(response_before.body)
        self.assertFalse(
            json_object_before["result"][0]["relay111"]["expectedState"])
        self.assertTrue(
            json_object_before["result"][0]["relay222"]["expectedState"])

        relays = Relays("product1", "serial1", "module1")
        relays.setExpectedState(
            "relay111",
            datetime.datetime.utcnow() + datetime.timedelta(1), True)
        relays.setExpectedState(
            "relay222",
            datetime.datetime.utcnow() + datetime.timedelta(1), False)
        response_after = self.testapp.get(
            "/api/Relays/product1/serial1/module1")
        json_object_after = simplejson.loads(response_after.body)
        self.assertTrue(
            json_object_after["result"][0]["relay111"]["expectedState"])
        self.assertFalse(
            json_object_after["result"][0]["relay222"]["expectedState"])