Jump to: navigation, search

Difference between revisions of "MagnetoDB/QA/Test cases"

(Replaced content with "thumbnail")
Line 1: Line 1:
=KVSaaS Test Cases and Ideas=
+
[[File:MagnetoDB Test Cases v2.2.pdf|thumbnail]]
 
 
'''Notes:'''
 
 
 
* Test Case ''status'':
 
** R - ready (test scenario exists and works fine - passes)
 
** P - in progress (test scenario exists but fails due to not-ready functionality)
 
** N - not implemented (test scenario is incomplete)
 
** <empty> - TC has not been analysed yet
 
 
 
= MagnetoDB test cases =
 
 
 
The most actual test case collection and status can be found here
 
 
 
https://docs.google.com/a/mirantis.com/spreadsheets/d/1OmOsCToicSGt4Oml0uZ1gXZayww9EAykPXKUwqr2nQw/edit#gid=1046461765
 
 
 
=DDL and DML statements=
 
 
 
==BatchGetItem==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Status'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-1</center>
 
 
 
|
 
BatchGetItem contains all the correct mandatory parameters
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-2</center>
 
 
 
|
 
BatchGetItem contains all the correct parameters
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''TableName'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
The only table name (existing) specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Several existing table names specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
3 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
255 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Less than 3 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
More than 255 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Non-existent name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Empty (like =)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= ""</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Mixed case letters in the name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''RequestItems'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(AttributesToGet)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Option not specified (by default)
 
 
 
|
 
All attrs are returned
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
All existing attrs
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Some existing attrs
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Only non-existing attributes
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
No attrs specified (whereas the Option exists)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Some existing and some non-existent attrs specified
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Attrs list looks strange like "" or "//', 123, abc##, etc
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(Keys)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Single "B" key specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
"B" and "N" keys specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Single "SS" key specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
"SS" and "NS" keys specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
"B", "S", "SS" and "NS" keys specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Incorrect key name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Incorrect key type
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Key type omitted
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Key name omitted
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Empty key name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Empty key type
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(ConsistentRead)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
By default (if not specified)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= TRUE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= FALSE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= ""</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Just = symbol
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= "Another_value"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnConsumedCapasity'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
By default (if not specified)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= "INDEXES"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= "TOTAL"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= "NONE"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= ""</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Just "="
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
<nowiki>= "Another_value"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Exceptions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
InternalServerError
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
ProvisionedThroughputExceededException
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
ResourceNotFoundException
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Limitations'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(Data volume)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Specify BatchGet to retrieve less than 1MB of data
 
 
 
|
 
"UnprocessedKeys" contains no items
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Specify BatchGet to retrieve exactly 1MB of data
 
 
 
|
 
"UnprocessedKeys" contains no items
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Specify BatchGet to retrieve more than 1MB (and &lt; 2MB) of data
 
 
 
|
 
"UnprocessedKeys" contains items exceeding 1MB limit
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Specify BatchGet to retrieve more than 2MB of data
 
 
 
|
 
"UnprocessedKeys" contains items exceeding first 1MB limit AND
 
 
 
(after the next Request, in the next Response) "UnprocessedKeys" contains items exceeding the 2MB limit
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(Items number)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Specify less than 100 items in the Request
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Specify exactly 100 items in the Request
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Specify more than 100 items in the Request
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Response'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Contains "GlobalSecondaryIndexes" section if there is (are) such for the table
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Contains "LocalSecondaryIndexes" section if there is (are) such for the table
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Contains both GSI and LSI sections if there are such for the table
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
Result contains:
 
 
 
* "ConsumedCapacity":
 
** CapacityUnits
 
** GSI
 
** LSI
 
** Table
 
** TableName
 
* "Responses"
 
* "UnprocessedKeys"
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BGI-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==BatchWriteItem==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-1</center>
 
 
 
|
 
Complete set of correct mandatory options
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-2</center>
 
 
 
|
 
Complete set of correct all options
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''PutRequest'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-10</center>
 
 
 
|
 
Correct Item string AND
 
 
 
"N" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-11</center>
 
 
 
|
 
Non-existent Item string AND
 
 
 
"N" : "string" value
 
 
 
|
 
Error + UnprocessedItems contains unprocessed PutRequest Items
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-12</center>
 
 
 
|
 
EMPTY Item string AND
 
 
 
"N" : "string"
 
 
 
|
 
Error + UnprocessedItems contains unprocessed PutRequest Items
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-13</center>
 
 
 
|
 
Correct Item string and
 
 
 
<nowiki>"NS" : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-14</center>
 
 
 
|
 
Correct Item string and
 
 
 
"B" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-15</center>
 
 
 
|
 
Correct Item string and
 
 
 
"<nowiki>BS" : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-16</center>
 
 
 
|
 
Correct Item string and
 
 
 
"S" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-17</center>
 
 
 
|
 
Correct Item string and
 
 
 
"N" : EMPTY value
 
 
 
|
 
ValidationException + UnprocessedItems contains unprocessed PutRequest Items
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-18</center>
 
 
 
|
 
Correct Item string and
 
 
 
"&lt;SOME_STRANGE_OR_EMPTY_VALUE&gt;" : "string" value
 
 
 
|
 
ValidationException + UnprocessedItems contains unprocessed PutRequest Items
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-19</center>
 
 
 
|
 
Correct Item string and
 
 
 
"NS" : "non-existent_string" value
 
 
 
|
 
ValidationException + UnprocessedItems contains unprocessed PutRequest Items
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-20</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''DeleteRequest'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-30</center>
 
 
 
|
 
Correct Key string and
 
 
 
"N" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-31</center>
 
 
 
|
 
Non-existent Key string and
 
 
 
"N" : "string" value
 
 
 
|
 
Error + UnprocessedItems contains unprocessed DeleteRequest Items
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-32</center>
 
 
 
|
 
EMPTY Key string and
 
 
 
"N" : "string" value
 
 
 
|
 
Error + UnprocessedItems contains unprocessed DeleteRequest Items
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-33</center>
 
 
 
|
 
correct Key string and
 
 
 
<nowiki>"NS" : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-34</center>
 
 
 
|
 
correct Key string and
 
 
 
"B" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-35</center>
 
 
 
|
 
correct Key string and
 
 
 
<nowiki>"BS" : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-36</center>
 
 
 
|
 
correct Key string and
 
 
 
"S" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-37</center>
 
 
 
|
 
Correct Key string and
 
 
 
<nowiki>"SS" : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''CombinedRequest'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-40</center>
 
 
 
|
 
Specify in one statement:
 
 
 
correct Key string for
 
 
 
DeleteRequest "N" : "string" value AND
 
 
 
correct Item string for
 
 
 
PutRequest "N" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-41</center>
 
 
 
|
 
Specify in one statement:
 
 
 
correct Key string for
 
 
 
DeleteRequest "B" : "string" value AND
 
 
 
correct Key string for
 
 
 
DeleteRequest "SS" : "string" values AND
 
 
 
correct Item string for
 
 
 
PutRequest "NS" : "string" values AND
 
 
 
(!!!) INcorrect Item string for
 
 
 
PutRequest "S" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-42</center>
 
 
 
|
 
Specify in one statement:
 
 
 
correct Item string for
 
 
 
PutRequest "N" : "string_A" value
 
 
 
correct Key string for
 
 
 
DeleteRequest "N" : "string_A" value
 
 
 
|
 
An error: you can't put and delete the same item in the same BatchWriteItem request
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''RequestItems (TableName)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-50</center>
 
 
 
|
 
correct table name and
 
 
 
correct PutRequest parameters for the Item
 
 
 
|
 
Line(s) added correctly
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-51</center>
 
 
 
|
 
Specify 25 correct table names and
 
 
 
correct PutRequest parameters for the Items
 
 
 
|
 
Line(s) added correctly into all 25 tables
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-52</center>
 
 
 
|
 
Specify 26 correct table names and
 
 
 
correct PutRequest parameters for the Items
 
 
 
|
 
error/exception (?)
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-53</center>
 
 
 
|
 
correct table name and
 
 
 
correct DeleteRequest parameters for the Key
 
 
 
|
 
Line(s) deleted correctly
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-54</center>
 
 
 
|
 
INcorrect table name
 
 
 
correct PutRequest parameters for an Item
 
 
 
Check that ''UnprocessedItems'' contains unprocessed PutRequest Items:
 
 
 
* TableName &lt; 3 symbols
 
* TableName &gt; 255 symbols
 
* Non-existent table name
 
 
 
|
 
Exception
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-55</center>
 
 
 
|
 
Correct table name and
 
 
 
correct PutRequest parameters for the Item
 
 
 
Make total request size more than 1 MB (how to?)
 
 
 
|
 
error
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-56</center>
 
 
 
|
 
correct table name and
 
 
 
correct PutRequest parameters for the Item
 
 
 
Any individual item in a batch exceeds 64 KB (how to?)
 
 
 
|
 
error
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnItemCollectionMetrics'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-60</center>
 
 
 
|
 
is NONE (by default)
 
 
 
|
 
no statistics returned
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-61</center>
 
 
 
|
 
is SIZE
 
 
 
|
 
statistics about item collections, if any, that were modified during the operation are returned in the response
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-62</center>
 
 
 
|
 
is &lt;Something_else&gt;
 
 
 
|
 
error/exception
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnConsumedCapacity'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-63</center>
 
 
 
|
 
is NONE (by default)
 
 
 
 
 
 
 
|
 
ConsumedCapacity is not included in the response
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-64</center>
 
 
 
|
 
is TOTAL
 
 
 
|
 
the response includes ConsumedCapacity data for tables and indexes
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-65</center>
 
 
 
|
 
is INDEXES
 
 
 
|
 
the response includes ConsumedCapacity for indexes only
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-66</center>
 
 
 
|
 
is &lt;Something_else&gt; (and empty)
 
 
 
|
 
error/exception
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Exceptions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-70</center>
 
 
 
|
 
Simulate InternalServerError
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-71</center>
 
 
 
|
 
Simulate ItemCollectionSizeLimitExceededException
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-72</center>
 
 
 
|
 
Simulate ProvisionedThroughputExceededException
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-73</center>
 
 
 
|
 
Simulate ResourceNotFoundException
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BWI-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==CreateTable==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-1</center>
 
 
 
|
 
Create table without any optional attributes, only all mandatory
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-2</center>
 
 
 
|
 
Create a table specifying ALL (including mandatory) the correct parameters
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-3</center>
 
 
 
|
 
Try to create two tables with the same name in the same region
 
 
 
|
 
ResourceInUseException expected.
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to create two tables with the same name in two different regions.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Verify first status is CREATING, then ACTIVE
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
What happens if read/write to/from table in CREATING state? Possible to reproduce?
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create one table with sec. indexes and then try to create one more table while the first one is in CREATING state.
 
 
 
- Possible to reproduce?
 
 
 
- How much time the table should be in CREATING state?
 
 
 
- Can I manage this time anyhow?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to create table w/o some mandatory attribute: AttributeDefinitions, KeySchema, ProvisionedThroughput, TableName.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''AttributeDefinitions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''Number of attributes'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
create table with 1 attr
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
What is upper limit? Try max and max+1
 
 
 
"Individual items in an DynamoDB table can have any number of attributes,  although there is a limit of 64 KB on the item size. An item size is the  sum of lengths of its attribute names and values (binary and UTF-8 lengths)."
 
 
 
So, number of attr is limited only by item size. Can be tested only via PutItem?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create a table with key and non-key (and non-index also) attributes. It should fail. Non-key attrs are unacceptable.
 
 
 
'''Note:'''
 
 
 
'''''Test for PutItem:''' PutItem not containing values for non-key/non-indexed attributes of the table to ensure these attrs are not required. ''
 
 
 
|
 
Error/exception ?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''AttrName'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try length of 1 symbol, 255 (upper limit) - these limits are applicable only for key attrs and index projections. Other attrs can have longer names, without explicit limits (just size of the whole item).
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try lengh 255+1 for key and indexes attr.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Check size of non-key / non-index-projected attr names
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to send attr names without attr types.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create table with attrs of each type: S, N, B. Ensure the data types are applied on put/get operations (it could be covered in Put/Get tests).
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
AWS says regarding local indexes creation: “You can project attributes of any data type, including scalar data types and multi-valued sets.” But how to define projection of Set types if they cannot be assigned to the attributes on table creation stage?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to create a table with attribute of some SET type. It should not be allowed.
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''KeySchema'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create table with a key of HASH type.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create table with a key of HASH and RANGE type.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to enumerate key attrs in wrong order: RANGE and then HASH attrs in the KeySchema list
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to create a table only with RANGE key
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to leave the list empty
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to add more than one HASH and/or RANGE attr. In general, add more than 2 attrs to the list.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try keytype different from HASH and RANGE.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try not to mention key attr in Definitions but only in KeySchema.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to mention attr names not defined in AttrDefinitions.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ProvisionedThroughput
 
 
 
'''''(for now, MagnetoDB ignores these values.)''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Set positive values.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to mention not all mandatory attrs
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to pass non-number, negative number
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''TableName'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Name length is 3
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Name length is 255
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Name length &lt; 3
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Name length &gt; 255
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
What are the limitations regarding lower and upper case, hyphen and other symbols? Do they correspond to DynamoDB rules?
 
 
 
AWS says: “For table and secondary index names, allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). Names can be between 3 and 255 characters long.”
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Provide an empty table name.
 
 
 
|
 
exception ?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''LocalSecondaryIndexes'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create index without some of mandatory attributes.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''Number of indexes'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create 1 index for a table
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create 5 indexes for the table
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create 6 indexes for the table
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Set LSI attribute as an empty list
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
“There is a 10 GB size limit per hash key” - how to evaluate it? Generate so many items that size of all hash key value is about 10 GB?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''IndexName'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create an index having 3 characters long name
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create an index having 255 characters long name
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create an index having 2 characters long name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create an index having 256 characters long name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
TO BE CLARIFIED: Is it case-sensitive? non-letters?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create 2 tables with similar index names.
 
 
 
|
 
successful
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Try to create 2 indexes with the same name in one table
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''KeySchema'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create LSI with Hash different from table hash key (table should have H+R key).
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create LSI for table with HASH w/o RANGE. Should fail. But will work for global indexes.
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create similar indexes with different names (the same keys, etc)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
create an index just with HASH key, w/o RANGE
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
‘Repeat’ key schema of the table. “For a local secondary index, the hash key must be the same as the table's hash key, and the range key must be a non-key table attribute.”
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
'''''Test for PutItem:''' Ensure range key of LSI is not a mandatory attribute.''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Projection'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Check usage of all projection types: KEYS_ONLY, INCLUDE, ALL. Query tests verify that it works as expected.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Use NonKeyAttributes but skip ProjectionType
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Use NonKeyAttributes list with one attribute in it
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Use key attrs in the NonKeyAttributes list
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Make NonKeyAttributes list empty
 
 
 
 
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Insert some non-key attrs in NonKeyAttributes list when Pr.Type is KEYS_ONLY. Then - similar but with ALL case.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create a table with 20 non-key attrs in one LSI.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create a table with 21 non-key attrs in one LSI.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create a table with 20 non-key attrs in multiple LSIs.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create a table with 21 non-key attrs in diff. LSIs, without repetitions of attr names.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create a table with 21 non-key attrs in diff. LSIs, with repetitions of attr names between LSI’s.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''GlobalSecondaryIndexes'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
(out of scope now)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Response'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Most of key-values in TableDescription are equal to data from Request
 
 
 
|
 
Check and verify:
 
 
 
* AttributeDefinitions
 
* KeySchema
 
* LocalSecondaryIndexes (also new attrs appear: IndexSizeBytes, IndexStatus, ItemCount)
 
* ProvisionedThroughput (also new attrs appear: LastDecreaseDateTime, LastIncreaseDateTime - these two should be absent on creation, NumberOfDecreasesToday - should be 0 on creation)
 
* TableName
 
 
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Attrs not present in Request but should be present in Response
 
 
 
|
 
* CreationDateTime
 
* ItemCount (should be 0 just after table creation)
 
* TableSizeBytes (should be 0 on creation)
 
* TableStatus (should be CREATING, then ACTIVE)
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
If LSI are not created, should this attr be present in response as empty list?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Think how to check TableSizeBytes value.
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
CreationDateTime verification: Find a way to get current time from the target system
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Exceptions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
LimitExceededException:
 
 
 
Is related to in-progress states. Not possible to reproduce for now.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
ResourceInUseException:
 
 
 
Recreate existing table ''(the case was mentioned above)''
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
InternalServerError:
 
 
 
<nowiki>When this error [500] is expected and when some other error should appear?</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Additional'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
Create more than 255 tables
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>CreT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==DeleteItem==
 
 
 
==DeleteTable==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-1</center>
 
 
 
|
 
Delete an existing table. Check if all the Response’s fields (see Table Description object) are equal to the appropriate table parameters
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Delete a non-existent table
 
 
 
|
 
''ResourceNotFoundException''
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Delete a table specifying “” as a name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Delete a table specifying ''NULL'' as a name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Delete a table w/o specifying any parameters
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Delete a table having a name that contains only 2 or 1 symbol
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Delete a table specifying a name that contains more than 255 symbols
 
 
 
|
 
''ResourceNotFoundException ?''
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Delete an existing table and, while the status is ''DELETING'', run DeleteTable operation for the same table once again
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Results Verification'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Exceptions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Simulate ''InternalServerError'' exception. Ideas?
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Simulate ''LimitExceededException'' exception. Ideas?
 
 
 
Delete more than 10 tables in the same time
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Simulate ''ResourceInUseException'' exception. Ideas?
 
 
 
Delete a table while it is in use by some other operation
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
Simulate ''ResourceNotFoundException'' exception. Other ideas?
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DelT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
 
 
 
 
==DescribeTable==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-1</center>
 
 
 
|
 
Run ''DescribeTable'' against the existing table. Check that all the required params are described correctly (see “Response Syntax” for DescribeTable statement)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
Run ''DescribeTable'' against the non-existent table (''ResourceNotFoundException'' exception)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
Run ''DescribeTable'' specifying “” as a table name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
Run ''DescribeTable'' specifying ''NULL'' as a name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
Run ''DescribeTable'' w/o specifying any parameters
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
Run ''DescribeTable'' specifying a name that contains only 2 or 1 symbol (causes an exception?)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
Run ''DescribeTable'' specifying a name that contains more than 255 symbols
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
Simulate ''InternalServerError'' exception
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>DesT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==GetItem==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-1</center>
 
 
 
|
 
Get an item specifying correct mandatory attributes
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Get an item specifying all the correct mandatory and optional ttributes
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''TableName'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Valid (existing) table name
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Existing table name of 3 symbols
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Existing table name of 255 symbols
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
From non-existent table name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Empty name (“”)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Less than 3 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
More than 255 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''AttributesToGet:'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Specified, correct items in the list
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Section not specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
“AttributesToGet” term not specified, but there is a list of items in the section
 
 
 
|
 
Exception/error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Section AttributesToGet is specified, but there is just an empty list (no items)
 
 
 
|
 
Exception/error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Specified more attributes than exist in the table
 
 
 
|
 
Exception/error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Incorrect attributes: Wrong names
 
 
 
|
 
Exception/error
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Incorrect attributes: Empty values like ""
 
 
 
|
 
Exception/error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Key'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
One Key specified: “B”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
One Key specified: “N”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
One Key specified: “S”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
One key: “BS”
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
One key: “NS”
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
One key: “SS”
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Combination of "B", "N", "S" types
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Combination of "B", "N", "S", "BS", "NS", "SS" types
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Combination of “B”, “B”, "N", "N", “S”, “S”,  “BS”, “BS”, "NS", "NS", “SS”, “SS” types
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
The whole section “Key” not specified
 
 
 
|
 
Exception/error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Section “Key” specified, but the section content is empty
 
 
 
|
 
Exception/error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
One incorrect key specified: something that is not in ("B", "N", "S", "BS", "NS", "SS")
 
 
 
|
 
Exception/error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
In section “Key” there is a key of type “N” but a non-existent value specified for it
 
 
 
|
 
No items returned in Response
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ConsistentRead'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
<nowiki>= True</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
<nowiki>= False</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Not specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
<nowiki>= &lt;Something_else&gt;</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnConsumedCapacity'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
<nowiki>= INDEXES</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
<nowiki>= TOTAL</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
<nowiki>= NONE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
<nowiki>= &lt;Something_else&gt;</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Exceptions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Simulate ConditionalCheckFailedException
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Simulate InternalServerError
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Simulate ItemCollectionSizeLimitExceededException
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Simulate ProvisionedThroughputExceededException
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
Simulate ResourceNotFoundException
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>GI-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==ListTables==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-1</center>
 
 
 
|
 
Neither ''Limit'' nor ''ExclusiveStartTableName'' specified:
 
 
 
Empty result (if there are no tables in this Tenant and Datacenter were created)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-2</center>
 
 
 
|
 
Neither ''Limit'' nor ''ExclusiveStartTableName'' specified:
 
 
 
A list of existing tables in this Tenant and Datacenter (if there are some in this Tenant and Datacenter tables)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-3</center>
 
 
 
|
 
Neither ''Limit'' nor ''ExclusiveStartTableName'' specified:
 
 
 
The List does not contain the tables having “CREATING” status
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-4</center>
 
 
 
|
 
Incorrect spelling of ListTables specified like: LisTables or Listables or ListTable, etc
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
There is no “{” or “}” in the statement
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Limit'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
The limit option is not specified and
 
 
 
The number of existing tables is 5
 
 
 
|
 
1 page containing all 5 tables
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
The limit option is not specified and
 
 
 
The number of tables is 100
 
 
 
|
 
1 page containing all 100 tables
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Limit = 3 and
 
 
 
number of existing tables is 100
 
 
 
|
 
The number of tables on the page is 3 and
 
 
 
"LastEvaluatedTableName" parameter in Response contains the 3rd (last displayed on the 1st page) table name and
 
 
 
There are 34 result pages in total
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Limit = 3 and
 
 
 
"LastEvaluatedTableName" = &lt;3d_table_name_in_the_table_list_of_the_previous_TC&gt; and
 
 
 
number of existing tables is 100
 
 
 
|
 
The number of tables on the second page is 3 and
 
 
 
"LastEvaluatedTableName" parameter in Response contains the 3d (last on the second page) table name and
 
 
 
There are 32 yet other pages able to be displayed
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Limit = 0
 
 
 
|
 
Error/exception
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Limit = -2
 
 
 
|
 
Error/exception
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Limit = "Some_strange_string"
 
 
 
|
 
Error/exception
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Limit = ""
 
 
 
|
 
Error/exception
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Limit = &lt;nothing&gt;
 
 
 
|
 
Error/exception
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Case sensitivity (?)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ExclusiveStartTableName'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
The "ExclusiveStartTableName" option not specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
An existing "ExclusiveStartTableName" specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
An existing "ExclusiveStartTableName" specified when:
 
 
 
There were no previous runs of ListTables statement
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
An existing "ExclusiveStartTableName" specified when:
 
 
 
Previous run of ListTables statement returned just one page
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
"ExclusiveStartTableName" is 3 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Table name is 255 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Table name is 1 or 2 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Table name is 256 or more symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
A non-existent table name specified
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
No table names specified
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
An empty (like "ExclusiveStartTableName" :) table name specified
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Tenant'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Switch to another tenant and
 
 
 
Perform ListTables operations:
 
 
 
The "ExclusiveStartTableName" option not specified
 
 
 
|
 
A unique (pertinent to this specific Tenant) list of tables returned
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
Switch to another tenant and
 
 
 
Perform ListTables operations:
 
 
 
An existing table name specified in "ExclusiveStartTableName"
 
 
 
|
 
A unique (pertinent to this specific Tenant) list of tables returned starting from the specified table name
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''DataCenter (endpoint)'''
 
 
 
Switch to another Datacenter and
 
 
 
Perform ListTables operations:
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
The "ExclusiveStartTableName" option not specified
 
 
 
|
 
A unique (pertinent to this specific Datacenter) list of tables returned
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
An existing table name specified in "ExclusiveStartTableName"
 
 
 
|
 
A unique (pertinent to this specific Datacenter) list of tables returned starting from the specified table name
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>LisT-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==PutItem==
 
 
 
'''Note:''' For each test, check the ''ResponseValue'' for required options and values
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(Correct names of required fields)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-1</center>
 
 
 
|
 
put item to '''''INSERT 1''''' '''''attribute''''' (an existing table, 1 correct attribute “S”)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-2</center>
 
 
 
|
 
put item to '''''INSERT  N attributes''''' (an existing table, 1 correct attribute “S”)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-3</center>
 
 
 
|
 
put item to '''''UPDATE 1''''' '''''attribute''''' (an existing table, 1 correct attribute “S”), ''Exists = true''
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-4</center>
 
 
 
|
 
put item to '''''UPDATE N''''' '''''attributes''''' (an existing table, 1 correct attribute “S”), ''Exists = true''
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-5</center>
 
 
 
|
 
put item to '''''UPDATE N''''' '''''attributes''''' (an existing table, '''''N''''' correct attributes “S”), no “''Exists''” option specified (should be ''True'' by default)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(Put item to ''UPDATE N'' ''attributes)'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-10</center>
 
 
 
|
 
an existing table, '''''N''''' correct attributes of type “B”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-11</center>
 
 
 
|
 
an existing table, '''''N''''' correct attributes of type “BS”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-12</center>
 
 
 
|
 
an existing table, '''''N''''' correct attributes of type “N”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-13</center>
 
 
 
|
 
an existing table, '''''N''''' correct attributes of type “NS”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-14</center>
 
 
 
|
 
an existing table, '''''N''''' correct attributes of type “SS”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-15</center>
 
 
 
|
 
an existing table, '''''N''''' correct attributes of types “B”, “BS”, “N”, “NS”, “S”, “SS”
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-16</center>
 
 
 
|
 
Put item to '''''UPDATE N''''' '''''attributes''''' (an existing table, '''''N''''' correct attributes “SS”)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-17</center>
 
 
 
|
 
Put the item having the same HASH and RANGE as the already existing one
 
 
 
|
 
ok (Replacement with the new item)
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-18</center>
 
 
 
|
 
Put the item having the same HASH as the already existing one
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-19</center>
 
 
 
|
 
Put the item having the same RANGE as the already existing one
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(''Expected'' conditions (all combinations))'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-30</center>
 
 
 
|
 
CORRECT field name and "N" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-31</center>
 
 
 
|
 
NON-EXISTENT field name and "N" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-32</center>
 
 
 
|
 
EMPTY field name and "N" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-33</center>
 
 
 
|
 
CORRECT field name and "NS"<nowiki> : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-34</center>
 
 
 
|
 
CORRECT field name and "B" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-35</center>
 
 
 
|
 
<nowiki>CORRECT field name and "BS" : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-36</center>
 
 
 
|
 
CORRECT field name and "S" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-37</center>
 
 
 
|
 
<nowiki>CORRECT field name and "SS" : ["string"] values</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-38</center>
 
 
 
|
 
CORRECT field name and "N" : EMPTY value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-39</center>
 
 
 
|
 
CORRECT field name and "&lt;SOME_STRANGE_OR_EMPTY_VALUE&gt;" : "string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-40</center>
 
 
 
|
 
CORRECT field name and "NS" : "NON-EXISTENT_string" value
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(''Exists'' value)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-50</center>
 
 
 
|
 
Option omitted (by default)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-51</center>
 
 
 
|
 
<nowiki>= True</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-52</center>
 
 
 
|
 
<nowiki>= False</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-53</center>
 
 
 
|
 
<nowiki>= “”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-54</center>
 
 
 
|
 
<nowiki>= “something else”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-55</center>
 
 
 
|
 
<nowiki>= &lt;something_else&gt;</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnConsumedCapacity''':
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-60</center>
 
 
 
|
 
<nowiki>= INDEXES </nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-61</center>
 
 
 
|
 
<nowiki>= TOTAL </nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-62</center>
 
 
 
|
 
<nowiki>= NONE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-63</center>
 
 
 
|
 
<nowiki>= “something_else”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-64</center>
 
 
 
|
 
<nowiki>= “”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-65</center>
 
 
 
|
 
&lt;no_value&gt;
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-66</center>
 
 
 
|
 
incorrect spelling of RCC
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnItemCollectionMetrics'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-70</center>
 
 
 
|
 
<nowiki>= SIZE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-71</center>
 
 
 
|
 
<nowiki>= NONE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-72</center>
 
 
 
|
 
<nowiki>= “something_else”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-73</center>
 
 
 
|
 
<nowiki>= “”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-74</center>
 
 
 
|
 
&lt;no_value&gt;
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-75</center>
 
 
 
|
 
incorrect spelling of RCM
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnValues'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-80</center>
 
 
 
|
 
<nowiki>= NONE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-81</center>
 
 
 
|
 
<nowiki>= ALL_OLD </nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-82</center>
 
 
 
|
 
<nowiki>= UPDATED_OLD </nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-83</center>
 
 
 
|
 
<nowiki>= ALL_NEW </nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-84</center>
 
 
 
|
 
<nowiki>=s UPDATED_NEW</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-85</center>
 
 
 
|
 
<nowiki>= “”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-86</center>
 
 
 
|
 
<nowiki>= “something_else”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-87</center>
 
 
 
|
 
<nowiki>= empty</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-88</center>
 
 
 
|
 
&lt;empty&gt;
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-89</center>
 
 
 
|
 
incorrect spelling of  “ReturnValues”
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Others'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-100</center>
 
 
 
|
 
Update an existing line while the key-value to be updated is in UPDATING status
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-101</center>
 
 
 
|
 
Update a non-existent table
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-102</center>
 
 
 
|
 
Update a table titled as “”
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-103</center>
 
 
 
|
 
Update a table by specifying only 2 letters of its title
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-104</center>
 
 
 
|
 
Update a table by specifying more than 256 letters of its title
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-105</center>
 
 
 
|
 
Update a table having no name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(Insert an item)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-110</center>
 
 
 
|
 
Specifying PrimaryKey as equal to the already existing line (this scenario update existing line)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-111</center>
 
 
 
|
 
Specifying strange data type (not in B, BS, S, SS, N, NS) for a Value to be inserted
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-112</center>
 
 
 
|
 
Specifying two equal Key values in one operation (if we specified two attributes with equal names - in table put only value of the last attribute)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-113</center>
 
 
 
|
 
Specifying no values for a Key
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-114</center>
 
 
 
|
 
Specifying non-existent Keys in “Expected” option
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Exceptions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-120</center>
 
 
 
|
 
Simulate: ''ConditionalCheckFailedException'' exception
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-121</center>
 
 
 
|
 
Simulate: ''ItemCollectionSizeLimitExceededException'' exception 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-122</center>
 
 
 
|
 
Simulate: ''ProvisionedThroughputExceededException'' exception
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-123</center>
 
 
 
|
 
Simulate: ''ResourceNotFoundException'' exception (implements in "Update a non-existent table")
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''TTL parameter tests'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>PI-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==Query==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-1</center>
 
 
 
|
 
Query statement contains the correct mandatory parameters only
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-2</center>
 
 
 
|
 
Query statement contains ALL the correct parameters
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''TableName'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-5</center>
 
 
 
|
 
Valid name specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-6</center>
 
 
 
|
 
Non-existent name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-7</center>
 
 
 
|
 
Empty name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-8</center>
 
 
 
|
 
Less than 3 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-9</center>
 
 
 
|
 
More than 255 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-10</center>
 
 
 
|
 
Exactly 3 and 255 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-11</center>
 
 
 
|
 
Upper and lower cases
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''AttributesToGet'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-13</center>
 
 
 
|
 
Specified correct attributes
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-14</center>
 
 
 
|
 
Not specified
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-15</center>
 
 
 
|
 
Specified more attributes than exist in the table
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
It’s positive
 
 
 
|-
 
|
 
<center>Q-16</center>
 
 
 
|
 
Specified incorrect attributes: wrong names
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
It’s positive
 
 
 
|-
 
|
 
<center>Q-17</center>
 
 
 
|
 
Specified incorrect attributes: empty values like ""
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-18</center>
 
 
 
|
 
Exact correct list:
 
 
 
Select = SPECIFIC_ATTRIBUTES
 
 
 
|
 
Correct result
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-19</center>
 
 
 
|
 
Exact correct list:
 
 
 
Select = ALL_ATTRIBUTES
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-20</center>
 
 
 
|
 
Exact correct list:
 
 
 
Select = ALL_PROJECTED_ATTRIBUTES
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-21</center>
 
 
 
|
 
Exact correct list:
 
 
 
Select = COUNT
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-22</center>
 
 
 
|
 
Exact correct list:
 
 
 
Select = “”
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-23</center>
 
 
 
|
 
Exact correct list:
 
 
 
Select = “something_else”
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-24</center>
 
 
 
|
 
The option is not specified
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-25</center>
 
 
 
|
 
Completely incorrect list
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
It’s positive
 
 
 
|-
 
|
 
<center>Q-26</center>
 
 
 
|
 
Some correct and some incorrect names in the list
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
It’s positive
 
 
 
|-
 
|
 
<center>Q-27</center>
 
 
 
|
 
Empty list
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-28</center>
 
 
 
|
 
Not specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''KeyConditions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-31</center>
 
 
 
|
 
Key "B" specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-32</center>
 
 
 
|
 
Key "N" specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-33</center>
 
 
 
|
 
Key "S" specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-34</center>
 
 
 
|
 
Key "BS" specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-35</center>
 
 
 
|
 
Key "NS" specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-36</center>
 
 
 
|
 
Key "SS" specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-37</center>
 
 
 
|
 
Combination of "B" + "N" + "S"
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-38</center>
 
 
 
|
 
Combination of all 6 types ("B" + "N" + "S" + "BS" + "NS" + "SS")
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-39</center>
 
 
 
|
 
Not specified
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-40</center>
 
 
 
|
 
One incorrect key specified: something that is not in ("B", "N", "S", "BS", "NS", "SS")
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ConsistentRead'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-43</center>
 
 
 
|
 
<nowiki>= True</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-44</center>
 
 
 
|
 
Option not specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-45</center>
 
 
 
|
 
<nowiki>= “Something else”</nowiki>
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnConsumedCapacity'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-49</center>
 
 
 
|
 
<nowiki>= "INDEXES"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-50</center>
 
 
 
|
 
<nowiki>= "TOTAL"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-51</center>
 
 
 
|
 
<nowiki>= "NONE"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-52</center>
 
 
 
|
 
<nowiki>= “Something_else”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-53</center>
 
 
 
|
 
<nowiki>= “”</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-54</center>
 
 
 
|
 
<nowiki>= &lt;Empty value&gt;</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ExclusiveStartKey'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-57</center>
 
 
 
|
 
is String
 
 
 
|
 
Records are taken starting by LastKeyValue of the previous operation
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-58</center>
 
 
 
|
 
is Number
 
 
 
|
 
Records are taken starting by LastKeyValue of the previous operation
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-59</center>
 
 
 
|
 
is Binary
 
 
 
|
 
Records are taken starting by LastKeyValue of the previous operation
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
is S or N or B, but there was no previous operations
 
 
 
|
 
What’s the content of ExclusiveStartKey?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-62</center>
 
 
 
|
 
is Set of S or N or B
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-63</center>
 
 
 
|
 
Not specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-64</center>
 
 
 
|
 
Incorrect ExclusiveStartKey
 
 
 
|
 
Error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''IndexName'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-67</center>
 
 
 
|
 
correct Local SI (Secondary Index)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-68</center>
 
 
 
|
 
correct Global SI
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-69</center>
 
 
 
|
 
non-existent LSI
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-70</center>
 
 
 
|
 
non-existent GSI
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-71</center>
 
 
 
|
 
Not specified
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-72</center>
 
 
 
|
 
Name length &lt; 3 symbols
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-73</center>
 
 
 
|
 
Name length &gt; 255 symbols
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-74</center>
 
 
 
|
 
Empty index name
 
 
 
|
 
error
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-75</center>
 
 
 
|
 
Upper case index name
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-76</center>
 
 
 
|
 
Lower case index name
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-77</center>
 
 
 
|
 
Mix of Upper/lower case letters in index name
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Limit'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-80</center>
 
 
 
|
 
Valid statement that returns &gt; 10 lines,
 
 
 
Limit = 5
 
 
 
|
 
5 lines returned and LastEvaluatedKey points to the last returned line
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-81</center>
 
 
 
|
 
Valid statement that returns N lines
 
 
 
Limit = N*2
 
 
 
|
 
N lines returned and LastEvaluatedKey points to the last returned line
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-82</center>
 
 
 
|
 
Valid statement that returns N (&lt; 5) lines
 
 
 
Limit = 5
 
 
 
|
 
N lines returned and LastEvaluatedKey points to the last returned line
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-83</center>
 
 
 
|
 
Valid statement that returns N (&lt; 5) lines
 
 
 
Limit = 0
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-84</center>
 
 
 
|
 
Valid statement that returns data size &gt; 1 MB
 
 
 
Limit = 100 000 (that is more than 1 MB data size)
 
 
 
|
 
Check that obtained data size is not more than 1 MB and LastEvaluatedKey points to the last returned line that does not exceed 1 MB
 
 
 
|
 
<center></center>
 
 
 
|
 
<center>N</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ScanIndexForward'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-87</center>
 
 
 
|
 
<nowiki>= TRUE (by default)</nowiki>
 
 
 
|
 
data are sorted by ascending of the index key
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-88</center>
 
 
 
|
 
<nowiki>= FALSE</nowiki>
 
 
 
|
 
data are sorted by descending of the index key
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-89</center>
 
 
 
|
 
<nowiki>= “Another value”</nowiki>
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-90</center>
 
 
 
|
 
<nowiki>= &lt;empty value&gt;</nowiki>
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Select'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-93</center>
 
 
 
|
 
<nowiki>= ALL_ATTRIBUTES</nowiki>
 
 
 
|
 
Returns all of the item attributes from the specified table or index
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-94</center>
 
 
 
|
 
<nowiki>= ALL_PROJECTED_ATTRIBUTES</nowiki>
 
 
 
|
 
Retrieves all attributes which have been projected into the index
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-95</center>
 
 
 
|
 
<nowiki>= COUNT </nowiki>
 
 
 
|
 
Returns the number of matching items, rather than the matching items themselves
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-96</center>
 
 
 
|
 
<nowiki>= SPECIFIC_ATTRIBUTES</nowiki>
 
 
 
|
 
Returns only the attributes listed in AttributesToGet
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-97</center>
 
 
 
|
 
<nowiki>= &lt;empty value&gt;</nowiki>
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-98</center>
 
 
 
|
 
<nowiki>= “”</nowiki>
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-99</center>
 
 
 
|
 
<nowiki>= “Something else”</nowiki>
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''KeyConditions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-102</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "EQ"
 
 
 
|
 
Existing record should be returned (STRING, NUMBER, BOOLEAN)
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-103</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "EQ"
 
 
 
AttributeValue is SET of Number or String or Boolean
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-104</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "EQ"
 
 
 
Two AttributeValues specified (NUMBER and STRING)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-105</center>
 
 
 
|
 
One correct field name (BINARY)
 
 
 
ComparisonOperator = "EQ"
 
 
 
AttributeValue is of type NUMBER or STRING
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-106</center>
 
 
 
|
 
One INcorrect field name
 
 
 
ComparisonOperator = "EQ"
 
 
 
Valid comparison value
 
 
 
|
 
error ?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-107</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "EQ"
 
 
 
Comparison expression represents a combination that does not exist in the actual table
 
 
 
|
 
No records returned
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-108</center>
 
 
 
|
 
One correct field name
 
 
 
INVALID ComparisonOperator
 
 
 
Valid comparison value
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-109</center>
 
 
 
|
 
One correct field name (Number or String or Boolean)
 
 
 
ComparisonOperator = "LE"
 
 
 
Valid comparison value  (STRING or NUMBER or BOOLEAN)
 
 
 
|
 
ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-110</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "LE"
 
 
 
Two AttributeValues specified
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-111</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "LE"
 
 
 
AttributeValue is SET of Number or String or Boolean
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-112</center>
 
 
 
|
 
One correct field name (Number or String or Boolean)
 
 
 
ComparisonOperator = "LT"
 
 
 
Valid comparison value  (STRING or NUMBER or BOOLEAN)
 
 
 
|
 
ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-113</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "LT"
 
 
 
Two AttributeValues specified
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-114</center>
 
 
 
|
 
One correct field name (a set)
 
 
 
ComparisonOperator = "LT"
 
 
 
AttributeValue is SET of the same type
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-115</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "GE"
 
 
 
Valid comparison value  (STRING or NUMBER or BOOLEAN)
 
 
 
|
 
ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-116</center>
 
 
 
|
 
One correct field name (N type)
 
 
 
ComparisonOperator = "GE"
 
 
 
Two (N and S) AttributeValues specified
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-117</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "GE"
 
 
 
AttributeValue is SET of Number or String or Boolean
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-118</center>
 
 
 
|
 
One correct field name (Number or String or Boolean)
 
 
 
ComparisonOperator = "GT"
 
 
 
Valid comparison value  (STRING or NUMBER or BOOLEAN)
 
 
 
|
 
ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-119</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "GT"
 
 
 
Two AttributeValues specified
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-120</center>
 
 
 
|
 
One correct field name (Number or String or Boolean)
 
 
 
ComparisonOperator = "GT"
 
 
 
AttributeValue is SET of Number or String or Boolean
 
 
 
|
 
ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-121</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "BEGINS_WITH"
 
 
 
Valid comparison value (STRING, BOOLEAN)
 
 
 
|
 
ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-122</center>
 
 
 
|
 
One non-existent field name
 
 
 
ComparisonOperator = "BEGINS_WITH"
 
 
 
Valid comparison value (STRING, BOOLEAN)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-123</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "BEGINS_WITH"
 
 
 
Two AttributeValues specified
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-124</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "BEGINS_WITH"
 
 
 
AttributeValue is SET of Number or String or Boolean
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-125</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "BETWEEN"
 
 
 
Two valid comparison values
 
 
 
|
 
ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center>R</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-126</center>
 
 
 
|
 
One non-existent field name
 
 
 
ComparisonOperator = "BETWEEN"
 
 
 
Two valid comparison values
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-127</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "BETWEEN"
 
 
 
Only one AttributeValue specified
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-128</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = "BETWEEN"
 
 
 
AttributeValue is SET of Number or String or Boolean
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-129</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = ""
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-130</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = &lt;empty_value&gt;
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-131</center>
 
 
 
|
 
One correct field name
 
 
 
ComparisonOperator = “something_else”
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center>P</center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Q-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==Scan==
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Imp'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''General'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-1</center>
 
 
 
|
 
scan stops and returns results if processed data size exceeds 1 MB
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Reproduce: Scan result is empty
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Parallel scan topic - '''out of scope for now'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''TableName'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
scan with only required parameter (table name)
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
scan if name length is 3
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
scan if name length is 255
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
scan with name length &lt; 3
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
scan with name length is &gt; 255
 
 
 
|
 
error?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
upper-lower case in <nowiki>t.name</nowiki>
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
non-existent table name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
diff. symbols in t. name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
scan request without required parameter - table name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''AttributesToGet'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Skip it: all attrs should be returned
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
include all params
 
 
 
|
 
?
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
empty list of attrs
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
the only attr in the list is non-key attr
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
the only attr in the list is attr that does not participate in a filter
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
try nonexistent attrs
 
 
 
|
 
should not be displayed in results?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Filter can find items, but selected attrs are not present in those items:
 
 
 
selected attrs are present in some other items
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Filter can find items, but selected attrs are not present in those items:
 
 
 
selected attrs are not present in any items
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
<nowiki>Repeat the same attr[s] in this list</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''[http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html ExclusiveStartKey''']
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Use LastEvaluatedKey from the previous scan. '''How to ensure that the scan really starts from this item?'''
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
What if assign some existing key but scan operation was not executed before? No difference I think.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Assign nonexistent value of key attr.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Assign non-key attributes and their values. Try attrs of SET type?
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Limit'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Verify just the Limit number of items was scanned and LastEvaluatedKey is present in response
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Set Limit value so that scan processes more than 1 Mb of data before Limit value exceeds. Ensure it stops due to 1 Mb but not continue till Limit items processed
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try empty, negative value, zero.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ReturnConsumedCapacity'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure response does not contain ConsumedCapacity (neither for table nor index(es)) if ReturnConsumedCapacity not present or equal to None in request
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure response contains Capacity for table and indexes if TOTAL in request
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure response contains Capacity for indexes only (not table) if INDEXES in request
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try empty, invalid values.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''ScanFilter'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure ScanFilter really filters?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure multiple conditions are treated as "AND" operations
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try nonexistent attribute name (let’s assume it will be added with some item later)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try empty line instead of attribute name
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Assign empty line, None to ScanFilter
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(AttributeValueList)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Use single value for appropriate comparison
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Use 2-element list for BETWEEN and IN
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try to use 2+ element for IN
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try to use 2-element-list for operation like EQ
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try empty list
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try to skip this parameter at all
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try data type different from attribute data type. For example,
 
 
 
{"S":"6"} vs {"N":"6"}.
 
 
 
|
 
does-not-match expected.
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
About SETs: most of operators do not support SET types:
 
 
 
Try to insert SET value for operator that does not support SET
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
About SETs: most of operators do not support SET types:
 
 
 
Ensure appropriate operators really support SETs.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(ComparisonOperator)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
For every comparison operator, verify it correctly compares values of each type it supports (in most cases string, number, binary). ''Rewrite here tests enumerated above, for AttributeValueList.''
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Verify each comparison operator is supported and compares correctly.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try invalid value for comp. operator (like EQINVALID)
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Select'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure ALL_ATTRIBUTES return all attributes, especially if different items have different attributes.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure COUNT return just count, not items themselves.
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Ensure ALL_PROJECTED_ATTRIBUTES returns all attrs projected to the index. Should I request table or index?
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Set Select=SPECIFIC_ATTRIBUTES and enumerate attributes in AttributesToGet. Ensure it returns only the attributes listed in AttributesToGet (i.e. the same as without Select at all).
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Try to set Select=SPECIFIC_ATTRIBUTES if AttributesToGet was not set.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
How ALL_PROJECTED_ATTRIBUTES should work?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Set Select to empty line or other invalid value.
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Use AttributesToGet together with Select equal to ALL_ATTRIBUTES or COUNT. What about ALL_PROJECTED_ATTRIBUTES?
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Segment '''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
'''parallel scan is out of scope for now. Should be ignored by MagnetoDB?'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''TotalSegments'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
'''parallel scan is out of scope for now. Should be ignored by MagnetoDB?'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Response'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
ConsumedCapacity: is returned only if requested and corresponds to requested data
 
 
 
 
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
ConsumedCapacity: is empty if provisioned throughput is ignored now?
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Count: Ensure the value is correct
 
 
 
|
 
 
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Items: its length correspond to Count
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Items: should it be present if Select=COUNT?
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Items: ensure the items are correct
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
LastEvaluatedKey:
 
 
 
Ensure it’s present if limit was used and/or reached
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
LastEvaluatedKey:
 
 
 
Ensure this item is present in the current results and will not be present in the next results (if it passes filter, of course)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
ScannedCount: Ensure the value is correct.
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Exceptions'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
Simulate ProvisionedThroughputExceededException
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
ProvisionedThroughputExceededException: unable to reproduce w/o ProvisionedThroughput
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
ResourceNotFoundException: request nonexistent table
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
ResourceNotFoundException:
 
 
 
request nonexistent index
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
ResourceNotFoundException:
 
 
 
request table in non Active state
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>Sc-</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
==UpdateItem==
 
 
 
==UpdateTable==
 
 
 
==
 
 
 
=Indexing=
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Status'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''CreateTable'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(LocalSecondaryIndexes)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-1</center>
 
 
 
|
 
No LSIs specified for a table
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-2</center>
 
 
 
|
 
5 LSI specified for a table
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-3</center>
 
 
 
|
 
6 LSIs specified for a table
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(IndexName)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-10</center>
 
 
 
|
 
Some correct name specified
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-11</center>
 
 
 
|
 
Name is 3 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-12</center>
 
 
 
|
 
Name is 255 symbols long
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-13</center>
 
 
 
|
 
Empty name
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-14</center>
 
 
 
|
 
Option not specified
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-15</center>
 
 
 
|
 
Name is 2 symbols long
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-16</center>
 
 
 
|
 
Name is 256 symbols long
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(KeySchema)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-20</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (just 1 HASH key)
 
 
 
- No projection
 
 
 
|
 
error (REGION key not specified)
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-21</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (just 1 REGION key)
 
 
 
- No projection
 
 
 
|
 
error (HASH key not specified)
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-22</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (neither HASH nor REGION keys specified)
 
 
 
- No projection
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-23</center>
 
 
 
|
 
Non-existent (in the table declaration) attribute specified as a HASH key
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-24</center>
 
 
 
|
 
Non-existant (in the table declaration) attribute specified as REGION key
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-25</center>
 
 
 
|
 
The same attribute specified as both HASH and REGION keys
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-26</center>
 
 
 
|
 
Option not specified
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-27</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- No projection
 
 
 
|
 
DescribeTable reports the same 1 LSI structure
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-28</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: 1 non-key attribute mentioned
 
 
 
|
 
DescribeTable reports the same 1 LSI structure
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-29</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: several non-key attributes mentioned
 
 
 
|
 
DescribeTable reports the same 1 LSI structure
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-30</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: one KEY (HASH) attribute mentioned
 
 
 
|
 
error
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-31</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: several KEY (HASH, REGION) and non-key attributes mentioned
 
 
 
|
 
DescribeTable reports the same 1 LSI structure
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-32</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: one KEY (REGION) attribute mentioned
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-33</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: several non-key attributes mentioned
 
 
 
|
 
DescribeTable reports the same 1 LSI structure
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-34</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: 20 non-key attributes mentioned
 
 
 
|
 
DescribeTable reports the same 1 LSI structure
 
 
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-35</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: 21 non-key attributes mentioned
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-36</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: 1 NON-EXISTENT non-key attribute mentioned
 
 
 
|
 
error (?)
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-37</center>
 
 
 
|
 
Create 1 LSI for a table:
 
 
 
- KeySchema (1 HASH key, 1 REGION key)
 
 
 
- Projection: several NON-EXISTENT non-key attributes mentioned
 
 
 
|
 
error (?)
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''(ProjectionType)'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-40</center>
 
 
 
|
 
Option not specified (omitted)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-41</center>
 
 
 
|
 
<nowiki>= KEYS_ONLY</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-42</center>
 
 
 
|
 
<nowiki>= INCLUDE</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-43</center>
 
 
 
|
 
<nowiki>= ALL</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-44</center>
 
 
 
|
 
<nowiki>= &lt;empty value&gt;</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-45</center>
 
 
 
|
 
<nowiki>= ""</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-46</center>
 
 
 
|
 
<nowiki>= "Something else"</nowiki>
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Query'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-50</center>
 
 
 
|
 
No indexes specified (option "IndexName" omitted)
 
 
 
|
 
Result data are not ordered
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-51</center>
 
 
 
|
 
Existing index (LSI) specified
 
 
 
|
 
Result data are in the order described by the index
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-52</center>
 
 
 
|
 
More than one existing index (LSI) specified
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-53</center>
 
 
 
|
 
Non-existent index (LSI) specified
 
 
 
|
 
?
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-54</center>
 
 
 
|
 
Empty index name specified
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-55</center>
 
 
 
|
 
Specified index does not contain the attribute that is used in KeyConditions
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>I-56</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
=Asynchronous Operations=
 
 
 
'''Preconditions:''' while the just created table is in CREATING status…
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Status'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center>AsO-1</center>
 
 
 
|
 
Create table
 
 
 
|
 
While the table is being created, its status is “CREATING”
 
 
 
After that the status is “CREATED”
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Precondition:''' while the just created table is in CREATING status…
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>AsO-10</center>
 
 
 
|
 
Try reading data from this table
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>AsO-11</center>
 
 
 
|
 
Create table with the same name
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>AsO-12</center>
 
 
 
|
 
Delete the table
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>AsO-13</center>
 
 
 
|
 
Run DescribeTable for this table
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>AsO-14</center>
 
 
 
|
 
Read/Update/Remove items from the table
 
 
 
|
 
error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 
 
 
 
 
=BulkWrite (PoC)=
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
|
 
<center>'''<nowiki>#</nowiki>'''</center>
 
 
 
|
 
<center>'''Description'''</center>
 
 
 
|
 
<center>'''Results'''</center>
 
 
 
|
 
<center>'''T'''</center>
 
 
 
|
 
<center>'''Status'''</center>
 
 
 
|
 
<center>'''Notes'''</center>
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Table without indexes'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''CORRECT item attributes names and content'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-1</center>
 
 
 
|
 
1-item portion
 
 
 
 
 
 
 
|
 
1 item was PUT into the table correctly
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-2</center>
 
 
 
|
 
25-item (max for 1 BulkWrite statement) portion
 
 
 
|
 
25 items were PUT correctly and
 
 
 
previously stored 1 item is ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-3</center>
 
 
 
|
 
More than 1 portion (&gt; 25 items)
 
 
 
|
 
All the items were PUT correctly and
 
 
 
Previously stored data is ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''INCORRECT item attributes names and content'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-4</center>
 
 
 
|
 
1-item portion: one incorrect KEY field name
 
 
 
|
 
Error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-5</center>
 
 
 
|
 
25-item (max for 1 BulkWrite statement) portion:
 
 
 
1 item with incorrect KEY field name
 
 
 
|
 
24 items were PUT correctly and
 
 
 
1 item rejected and
 
 
 
error code/message returned
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-6</center>
 
 
 
|
 
More than 1 portion (&gt; 25 items):
 
 
 
each portion contains 2 incorrect PUT statements
 
 
 
|
 
All the correct items were PUT correctly and
 
 
 
Previously stored data (24 items) is ok and
 
 
 
error code/message returned for each (of 4) incorrect item
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-7</center>
 
 
 
|
 
Empty BulkWrite
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Table with declared indexes'''
 
 
 
(Same test cases as for the table without indexes)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''CORRECT item attributes names and content'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-8</center>
 
 
 
|
 
1-item portion
 
 
 
 
 
 
 
|
 
1 item was PUT into the table correctly
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-9</center>
 
 
 
|
 
25-item (max for 1 BulkWrite statement) portion
 
 
 
|
 
25 items were PUT correctly and
 
 
 
previously stored 1 item is ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-10</center>
 
 
 
|
 
More than 1 portion (&gt; 25 items)
 
 
 
|
 
All the items were PUT correctly and
 
 
 
Previously stored data is ok
 
 
 
|
 
<center>P</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''''INCORRECT item attributes names and content'''''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-11</center>
 
 
 
|
 
1-item portion: one incorrect KEY field name
 
 
 
|
 
Error
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-12</center>
 
 
 
|
 
25-item (max for 1 BulkWrite statement) portion:
 
 
 
1 item with incorrect KEY field name
 
 
 
|
 
24 items were PUT correctly and
 
 
 
1 item rejected and
 
 
 
error code/message returned
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-13</center>
 
 
 
|
 
More than 1 portion (&gt; 25 items):
 
 
 
each portion contains 2 incorrect PUT statements
 
 
 
|
 
All the correct items were PUT correctly and
 
 
 
Previously stored data (24 items) is ok and
 
 
 
error code/message returned for each (of 4) incorrect item
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-14</center>
 
 
 
|
 
Empty BulkWrite
 
 
 
|
 
?
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''Incorrect JSONs'''
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-15</center>
 
 
 
|
 
No items in JSON
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-16</center>
 
 
 
|
 
Incorrect JSON syntax
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-17</center>
 
 
 
|
 
Inappropriate (to the table keys structure) field names in JSON
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-18</center>
 
 
 
|
 
Inappropriate structure of JSON requests
 
 
 
|
 
 
 
 
 
|
 
<center>N</center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
'''+ ALL PutItem TCs'''
 
 
 
(as Bulk implementation of PutItem differcs from the standard one)
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center>BulkW-19</center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|-
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|
 
 
 
 
 
|
 
<center></center>
 
 
 
|
 
<center></center>
 
 
 
|
 
 
 
 
 
|}
 

Revision as of 00:19, 25 April 2014

File:MagnetoDB Test Cases v2.2.pdf