def test_create(): values = setup_table() res = handler.create( { 'headers': { 'Accept': 'application/json' }, 'body': json.dumps({'list': ['one', 'two']}) }, {}) print(res) assert res['statusCode'] == 200 assert json.loads(res['body'])['errors'] == [] # check that it was added res = handler.get({'pathParameters': None}, {}) print(res) assert len(json.loads(res['body'])) == len(values) + 1 assert res['statusCode'] == 200 # multiple key values added res = handler.create( { 'headers': { 'Accept': 'application/json' }, 'body': json.dumps({ 'list': ['one', 'two'], 'dict': { "hello": 1.0 } }) }, {}) print(res) assert res['statusCode'] == 200 assert json.loads(res['body'])['errors'] == [] # check that overrides list and dict was added res = handler.get({'pathParameters': None}, {}) print(res) assert len(json.loads(res['body'])) == len(values) + 2 assert res['statusCode'] == 200 # returns 415 without application/json header res = handler.create({'body': json.dumps({'list': ['one', 'two']})}, {}) print(res) assert res['statusCode'] == 415 # returns 400 with application/json header and bad json res = handler.create( { 'headers': { 'Accept': 'application/json' }, 'body': { 'list': ['one', 'two'] } }, {}) print(res) assert res['statusCode'] == 400
def test_delete(): values = setup_table() res = handler.create( { 'headers': { 'Accept': 'application/json' }, 'body': json.dumps({'list': ['one', 'two']}) }, {}) print(res) assert res['statusCode'] == 200 assert json.loads(res['body'])['errors'] == [] # check that it was added res = handler.get({'pathParameters': None}, {}) print(res) assert len(json.loads(res['body'])) == len(values) + 1 assert res['statusCode'] == 200 # delete key0 res = handler.delete({'pathParameters': {'id': 'Key0'}}, {}) print(res) assert res['statusCode'] == 200 assert json.loads(res['body']) == {keyName: 'Key0', 'Value': 'world'} # delete None res = handler.delete({'pathParameters': {'id': 'None'}}, {}) print(res) assert res['statusCode'] == 404 assert json.loads(res['body']) == {}
def test_get(): values = setup_table() # get all res = handler.get({'pathParameters': None}, {}) print(res) assert len(json.loads(res['body'])) == len(values) assert res['statusCode'] == 200 # get item for i, value in enumerate(values): key = environ['keyName'] + str(i) res = handler.get({'pathParameters': {'id': key}}, {}) print(res) assert len(json.loads(res['body'])) == 2 assert res['statusCode'] == 200 # no existing item res = handler.get({'pathParameters': {'id': 'NoneExisting'}}, {}) print(res) assert res['statusCode'] == 404
def process(args): session, msg = args log("get message: " + msg) _b = time.time() params = msg.split("::") try: # <0.652.0>:[email protected]:<0.486.0>:1573:429363:10167::{"res_code":201} msg = json.loads(params[1]) _uri = msg.get("uri") _headers = msg.get("headers") _method = msg.get("method") _args = msg.get("args") _data = msg.get("data") resp = "" if _method == 'get': resp = handler.get(session, _uri, _headers, _args, _data) elif _method == 'post': resp = handler.post(session, _uri, _headers, _args, _data) elif _method == 'put': resp = handler.put(_uri, _headers, _args, _data) elif _method == 'patch': resp = handler.patch(_uri, _headers, _args, _data) elif _method == 'delete': resp = handler.delete(_uri, _headers, _args, _data) send("{}::{}".format(params[0], resp)) log("message send: {} ".format(time.time() - _b)) except Exception as e: send("{}::{}".format(params[0], json.dumps({"x_res_code": 500, "x_res_body": str(e)})))
def test_get_returns_400_without_code_query_string(self): response = get({'queryStringParameters':{}}, None) self.assertTrue(response['statusCode'], 400)
def test_get_returns_302(self, mock_boto3, mock_os): response = get({'queryStringParameters':{'code':'abcdef'}}, None) self.assertTrue(response['statusCode'], 302) self.assertIsNotNone(response['headers']['Location'])
def get(self, photo_key): if not handler.get(photo_key): self.error(404) else: self.send_blob(photo_key)
def test_update(): values = setup_table() # update single and check response res = handler.update( { 'pathParameters': { 'id': 'Key0' }, 'queryStringParameters': { 'value': 'updated' } }, {}) print(res) assert res['statusCode'] == 200 # multiple key values updated and check response res = handler.update( { 'pathParameters': None, 'queryStringParameters': None, 'headers': { 'Accept': 'application/json' }, 'body': json.dumps({ 'Key1': ['one', 'two'], 'Key2': { "hello": "world" } }) }, {}) print(res) assert res['statusCode'] == 200 # check that they were updated res = handler.get({'pathParameters': {'id': 'Key0'}}, {}) print(res) assert json.loads(res['body']) == {keyName: 'Key0', 'Value': 'updated'} assert res['statusCode'] == 200 # returns 415 without application/json header res = handler.update( { 'pathParameters': None, 'queryStringParameters': None, 'body': json.dumps({'list': ['one', 'two']}) }, {}) print(res) assert res['statusCode'] == 415 # returns 400 with application/json header and bad json res = handler.update( { 'pathParameters': None, 'queryStringParameters': None, 'headers': { 'Accept': 'application/json' }, 'body': { 'list': ['one', 'two'] } }, {}) print(res) assert res['statusCode'] == 400