예제 #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"])
예제 #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)
예제 #3
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)
예제 #4
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)
예제 #5
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)
예제 #6
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"])