Exemplo n.º 1
0
def test_localstack_table(monkeypatch):
    localstack_url = 'http://localhost:4569'
    dynamodb._resource = None
    assert dynamodb._table is None
    with monkeypatch.context() as m:
        m.setenv('LOCALSTACK_DYNAMODB_URL', localstack_url)
        m.setenv('DYNAMODB_TABLE', 'test-localstack-table')
        table = dynamodb.table()
        assert table.meta.client.meta.endpoint_url == localstack_url
    assert dynamodb.table().meta.client.meta.endpoint_url == localstack_url
    dynamodb._resource = None
    dynamodb._table = None
Exemplo n.º 2
0
def test_does_not_exist():
    dynamodb.table('test-table')
    expected_params = {
        'TableName': 'test-table',
        'Key': {
            'Id': botocore.stub.ANY
        },
        'ProjectionExpression': 'Id'
    }
    response = {'ResponseMetadata': {}}
    with botocore.stub.Stubber(dynamodb.resource().meta.client) as stubber:
        stubber.add_response('get_item', response, expected_params)
        assert not dynamodb.exists({'Id': '12345'})
    dynamodb._table = None
Exemplo n.º 3
0
def test_table_using_env(monkeypatch):
    assert dynamodb._table is None
    with monkeypatch.context() as m:
        m.setenv('DYNAMODB_TABLE', 'test-table')
        table = dynamodb.table()
        assert isinstance(table, boto3.dynamodb.table.TableResource)
        assert dynamodb._table == table
    dynamodb._table = None
Exemplo n.º 4
0
def test_table_using_arg():
    table = dynamodb.table('my-table')
    assert isinstance(table, boto3.dynamodb.table.TableResource)
    assert dynamodb._table == table
    dynamodb._table = None
Exemplo n.º 5
0
def test_table_no_envvar():
    """Tests that `table()` raises an exception in the absence of the table name env var."""
    assert 'DYNAMODB_TABLE' not in os.environ
    dynamodb._table = None
    with pytest.raises(RuntimeError):
        dynamodb.table()