コード例 #1
0
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
コード例 #2
0
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']) == {}
コード例 #3
0
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
コード例 #4
0
ファイル: async.py プロジェクト: droopp/drop-fun-examples
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)})))
コード例 #5
0
 def test_get_returns_400_without_code_query_string(self):
     response = get({'queryStringParameters':{}}, None)
     self.assertTrue(response['statusCode'], 400)
コード例 #6
0
 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'])
コード例 #7
0
ファイル: views.py プロジェクト: marcielmj/picture-map
 def get(self, photo_key):
     if not handler.get(photo_key):
         self.error(404)
     else:
         self.send_blob(photo_key)
コード例 #8
0
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