2023-02-27 23:05:50 +00:00
|
|
|
import json
|
2023-11-30 15:55:51 +00:00
|
|
|
|
2013-03-05 13:14:43 +00:00
|
|
|
import moto.server as server
|
2024-01-07 12:03:33 +00:00
|
|
|
from moto import mock_aws
|
2013-03-05 13:14:43 +00:00
|
|
|
|
|
|
|
|
2024-01-07 12:03:33 +00:00
|
|
|
@mock_aws
|
2022-03-09 17:57:25 +00:00
|
|
|
def test_table_list():
|
|
|
|
backend = server.create_backend_app("dynamodb")
|
|
|
|
test_client = backend.test_client()
|
2013-03-05 13:14:43 +00:00
|
|
|
res = test_client.get("/")
|
2023-07-13 10:21:47 +00:00
|
|
|
assert res.status_code == 404
|
2013-03-05 13:14:43 +00:00
|
|
|
|
2021-09-22 21:22:56 +00:00
|
|
|
headers = {"X-Amz-Target": "TestTable.ListTables"}
|
|
|
|
res = test_client.get("/", headers=headers)
|
2023-07-13 10:21:47 +00:00
|
|
|
assert b"TableNames" in res.data
|
|
|
|
assert "X-Amz-Crc32" in res.headers
|
2023-02-27 23:05:50 +00:00
|
|
|
|
|
|
|
headers = {"X-Amz-Target": "DynamoDB_20120810.DescribeTable"}
|
|
|
|
res = test_client.post(
|
|
|
|
"/", headers=headers, data=json.dumps({"TableName": "test-table2"})
|
|
|
|
)
|
2023-07-13 10:21:47 +00:00
|
|
|
assert res.headers["X-Amzn-ErrorType"] == "ResourceNotFoundException"
|
2023-02-27 23:05:50 +00:00
|
|
|
body = json.loads(res.data.decode("utf-8"))
|
2023-07-13 10:21:47 +00:00
|
|
|
assert body == {
|
|
|
|
"__type": "com.amazonaws.dynamodb.v20120810#ResourceNotFoundException",
|
|
|
|
"message": "Requested resource not found: Table: test-table2 not found",
|
|
|
|
}
|