Jump to: navigation, search

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

Line 6,853: Line 6,853:
  
 
|
 
|
 
+
Key "B" specified
  
 
|
 
|
Line 6,859: Line 6,859:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 6,872: Line 6,872:
  
 
|
 
|
 
+
Key "N" specified
  
 
|
 
|
Line 6,878: Line 6,878:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 6,891: Line 6,891:
  
 
|
 
|
 
+
Key "S" specified
  
 
|
 
|
Line 6,897: Line 6,897:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 6,910: Line 6,910:
  
 
|
 
|
 
+
Key "BS" specified
  
 
|
 
|
Line 6,916: Line 6,916:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 6,929: Line 6,929:
  
 
|
 
|
 
+
Key "NS" specified
  
 
|
 
|
Line 6,935: Line 6,935:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 6,948: Line 6,948:
  
 
|
 
|
 
+
Key "SS" specified
  
 
|
 
|
Line 6,954: Line 6,954:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 6,967: Line 6,967:
  
 
|
 
|
 
+
Combination of "B" + "N" + "S"
  
 
|
 
|
Line 6,973: Line 6,973:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 6,986: Line 6,986:
  
 
|
 
|
 
+
Combination of all 6 types ("B" + "N" + "S" + "BS" + "NS" + "SS")
  
 
|
 
|
Line 6,992: Line 6,992:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,005: Line 7,005:
  
 
|
 
|
 
+
Not specified
  
 
|
 
|
Line 7,011: Line 7,011:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
<center></center>
+
<center>Y</center>
  
 
|
 
|
Line 7,024: Line 7,024:
  
 
|
 
|
 
+
One incorrect key specified: something that is not in ("B", "N", "S", "BS", "NS", "SS")
  
 
|
 
|
Line 7,030: Line 7,030:
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,040: Line 7,040:
 
|-
 
|-
 
|
 
|
<center>Q-</center>
+
<center></center>
  
 
|
 
|
 
+
'''ConsistentRead'''
  
 
|
 
|
Line 7,062: Line 7,062:
  
 
|
 
|
 
+
<nowiki>= True</nowiki>
  
 
|
 
|
Line 7,068: Line 7,068:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,081: Line 7,081:
  
 
|
 
|
 
+
Option not specified
  
 
|
 
|
Line 7,087: Line 7,087:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,100: Line 7,100:
  
 
|
 
|
 
+
<nowiki>= “Something else”</nowiki>
  
 
|
 
|
 
+
error
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,116: Line 7,116:
 
|-
 
|-
 
|
 
|
<center>Q-</center>
+
<center></center>
  
 
|
 
|
 
+
'''ReturnConsumedCapacity'''
  
 
|
 
|
Line 7,138: Line 7,138:
  
 
|
 
|
 
+
<nowiki>= "</nowiki>INDEXES"
  
 
|
 
|
Line 7,144: Line 7,144:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,157: Line 7,157:
  
 
|
 
|
 
+
<nowiki>= "TOTAL"</nowiki>
  
 
|
 
|
Line 7,163: Line 7,163:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,176: Line 7,176:
  
 
|
 
|
 
+
<nowiki>= "NONE"</nowiki>
  
 
|
 
|
Line 7,182: Line 7,182:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,195: Line 7,195:
  
 
|
 
|
 
+
<nowiki>= “Something_else”</nowiki>
  
 
|
 
|
Line 7,201: Line 7,201:
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,214: Line 7,214:
  
 
|
 
|
 
+
<nowiki>= “”</nowiki>
  
 
|
 
|
Line 7,220: Line 7,220:
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,233: Line 7,233:
  
 
|
 
|
 
+
<nowiki>= &lt;Empty value&gt;</nowiki>
  
 
|
 
|
Line 7,239: Line 7,239:
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,249: Line 7,249:
 
|-
 
|-
 
|
 
|
<center>Q-</center>
+
<center></center>
  
 
|
 
|
 
+
'''ExclusiveStartKey'''
  
 
|
 
|
Line 7,271: Line 7,271:
  
 
|
 
|
 
+
is String
  
 
|
 
|
 
+
Records are taken starting by LastKeyValue of the previous operation
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,290: Line 7,290:
  
 
|
 
|
 
+
is Number
  
 
|
 
|
 
+
Records are taken starting by LastKeyValue of the previous operation
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,309: Line 7,309:
  
 
|
 
|
 
+
is Binary
  
 
|
 
|
 
+
Records are taken starting by LastKeyValue of the previous operation
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,325: Line 7,325:
 
|-
 
|-
 
|
 
|
<center>Q-</center>
+
<center></center>
  
 
|
 
|
 
+
is S or N or B, but there was no previous operations
  
 
|
 
|
 
+
What’s the content of ExclusiveStartKey?
  
 
|
 
|
Line 7,347: Line 7,347:
  
 
|
 
|
 
+
is Set of S or N or B
  
 
|
 
|
 
+
error
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,366: Line 7,366:
  
 
|
 
|
 
+
Not specified
  
 
|
 
|
Line 7,372: Line 7,372:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,385: Line 7,385:
  
 
|
 
|
 
+
Incorrect ExclusiveStartKey
  
 
|
 
|
 
+
Error
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,401: Line 7,401:
 
|-
 
|-
 
|
 
|
<center>Q-</center>
+
<center></center>
  
 
|
 
|
 
+
'''IndexName'''
  
 
|
 
|
Line 7,423: Line 7,423:
  
 
|
 
|
 
+
correct Local SI (Secondary Index)
  
 
|
 
|
Line 7,429: Line 7,429:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,442: Line 7,442:
  
 
|
 
|
 
+
correct Global SI
  
 
|
 
|
Line 7,448: Line 7,448:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,461: Line 7,461:
  
 
|
 
|
 
+
non-existent LSI
  
 
|
 
|
Line 7,467: Line 7,467:
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,480: Line 7,480:
  
 
|
 
|
 
+
non-existent GSI
  
 
|
 
|
Line 7,486: Line 7,486:
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,499: Line 7,499:
  
 
|
 
|
 
+
Not specified
  
 
|
 
|
Line 7,505: Line 7,505:
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,518: Line 7,518:
  
 
|
 
|
 
+
Name length &lt; 3 symbols
  
 
|
 
|
 
+
error
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,537: Line 7,537:
  
 
|
 
|
 
+
Name length &gt; 255 symbols
  
 
|
 
|
 
+
error
  
 
|
 
|
<center></center>
+
<center>N</center>
  
 
|
 
|
Line 7,556: Line 7,556:
  
 
|
 
|
 
+
Empty index name
  
 
|
 
|
 
+
error
  
 
|
 
|
Line 7,575: Line 7,575:
  
 
|
 
|
 
+
Upper case index name
  
 
|
 
|
 
+
?
  
 
|
 
|
Line 7,594: Line 7,594:
  
 
|
 
|
 
+
Lower case index name
  
 
|
 
|
 
+
?
  
 
|
 
|
Line 7,613: Line 7,613:
  
 
|
 
|
 
+
Mix of Upper/lower case letters in index name
  
 
|
 
|
 
+
?
  
 
|
 
|
Line 7,629: Line 7,629:
 
|-
 
|-
 
|
 
|
<center>Q-</center>
+
<center></center>
  
 
|
 
|
 
+
'''Limit'''
  
 
|
 
|
Line 7,651: Line 7,651:
  
 
|
 
|
 +
Valid statement that returns &gt; 10 lines,
  
 +
Limit = 5
  
 
|
 
|
 
+
5 lines returned and LastEvaluatedKey points to the last returned line
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,670: Line 7,672:
  
 
|
 
|
 +
Valid statement that returns N lines
  
 +
Limit = N*2
  
 
|
 
|
 
+
N lines returned and LastEvaluatedKey points to the last returned line
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,689: Line 7,693:
  
 
|
 
|
 +
Valid statement that returns N (&lt; 5) lines
  
 +
Limit = 5
  
 
|
 
|
 
+
N lines returned and LastEvaluatedKey points to the last returned line
  
 
|
 
|
<center></center>
+
<center>P</center>
  
 
|
 
|
Line 7,708: Line 7,714:
  
 
|
 
|
 +
Valid statement that returns N (&lt; 5) lines
  
 +
Limit = 0
  
 
|
 
|
 
+
?
  
 
|
 
|
Line 7,727: Line 7,735:
  
 
|
 
|
 +
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
  
 
|
 
|
Line 7,743: Line 7,753:
 
|-
 
|-
 
|
 
|
<center>Q-</center>
+
<center></center>
  
 
|
 
|
 
+
'''ScanIndexForward'''
  
 
|
 
|
Line 7,765: Line 7,775:
  
 
|
 
|
 +
<nowiki>= TRUE (by default)</nowiki>
  
 +
|
 +
data are sorted by ascending of the index key
  
 
|
 
|
 
+
<center>P</center>
  
 
|
 
|
Line 7,774: Line 7,787:
  
 
|
 
|
<center></center>
 
  
 +
 +
|-
 
|
 
|
 +
<center>Q-</center>
  
 +
|
 +
<nowiki>= FALSE</nowiki>
  
|}
+
|
 +
data are sorted by descending of the index key
  
 +
|
 +
<center>P</center>
  
=Scan=
+
|
 +
<center></center>
  
 +
|
  
  
{| class="wikitable"
 
 
|-
 
|-
 
|
 
|
<center>'''<nowiki>#</nowiki>'''</center>
+
<center>Q-</center>
  
 
|
 
|
<center>'''Description'''</center>
+
<nowiki>= “Another value”</nowiki>
  
 
|
 
|
<center>'''Results'''</center>
+
error
  
 
|
 
|
<center>'''T'''</center>
+
<center>N</center>
  
 
|
 
|
<center>'''Imp'''</center>
+
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= &lt;empty value&gt;</nowiki>
 +
 
 +
|
 +
?
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
  
 
|
 
|
<center>'''Notes'''</center>
+
 
  
 
|-
 
|-
Line 7,811: Line 7,851:
  
 
|
 
|
'''General'''
+
'''Select'''
 +
 
 +
|
 +
 
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= ALL_ATTRIBUTES</nowiki>
 +
 
 +
|
 +
Returns all of the item attributes from the specified table or index
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= ALL_PROJECTED_ATTRIBUTES</nowiki>
 +
 
 +
|
 +
Retrieves all attributes which have been projected into the index
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= COUNT </nowiki>
 +
 
 +
|
 +
Returns the number of matching items, rather than the matching items themselves
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= SPECIFIC_ATTRIBUTES</nowiki>
 +
 
 +
|
 +
Returns only the attributes listed in AttributesToGet
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= &lt;empty value&gt;</nowiki>
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= “”</nowiki>
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
<nowiki>= “Something else”</nowiki>
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center></center>
 +
 
 +
|
 +
'''KeyConditions'''
 +
 
 +
|
 +
 
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "EQ"
 +
 
 +
|
 +
Existing record should be returned (STRING, NUMBER, BOOLEAN)
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "EQ"
 +
 
 +
AttributeValue is SET of Number or String or Boolean
 +
 
 +
|
 +
 
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "EQ"
 +
 
 +
Two AttributeValues specified (NUMBER and STRING)
 +
 
 +
|
 +
 
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name (BINARY)
 +
 
 +
ComparisonOperator = "EQ"
 +
 
 +
AttributeValue is of type NUMBER or STRING
 +
 
 +
|
 +
error?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One INcorrect field name
 +
 
 +
ComparisonOperator = "EQ"
 +
 
 +
Valid comparison value
 +
 
 +
|
 +
error ?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "EQ"
 +
 
 +
Comparison expression represents a combination thet does not exist in the actual table
 +
 
 +
|
 +
No records returned
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
INVALID ComparisonOperator
 +
 
 +
Valid comparison value
 +
 
 +
|
 +
error?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</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></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "LE"
 +
 
 +
Two AttributeValues specified
 +
 
 +
|
 +
error?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "LE"
 +
 
 +
AttributeValue is SET of Number or String or Boolean
 +
 
 +
|
 +
error?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</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></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "LT"
 +
 
 +
Two AttributeValues specified
 +
 
 +
|
 +
error?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name (a set)
 +
 
 +
ComparisonOperator = "LT"
 +
 
 +
AttributeValue is SET of the same type
 +
 
 +
|
 +
error?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "GE"
 +
 
 +
Valid comparison value  (STRING or NUMBER or BOOLEAN)
 +
 
 +
|
 +
ok
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name (N type)
 +
 
 +
ComparisonOperator = "GE"
 +
 
 +
Two (N and S) AttributeValues specified
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "GE"
 +
 
 +
AttributeValue is SET of Number or String or Boolean
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</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></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "GT"
 +
 
 +
Two AttributeValues specified
 +
 
 +
|
 +
error?
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</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-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "BEGINS_WITH"
 +
 
 +
Valid comparison value (STRING, BOOLEAN)
 +
 
 +
|
 +
ok
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One non-existent field name
 +
 
 +
ComparisonOperator = "BEGINS_WITH"
 +
 
 +
Valid comparison value (STRING, BOOLEAN)
 +
 
 +
|
 +
 
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "BEGINS_WITH"
 +
 
 +
Two AttributeValues specified
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "BEGINS_WITH"
 +
 
 +
AttributeValue is SET of Number or String or Boolean
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "BETWEEN"
 +
 
 +
Two valid comparison values
 +
 
 +
|
 +
ok
 +
 
 +
|
 +
<center>P</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One non-existent field name
 +
 
 +
ComparisonOperator = "BETWEEN"
 +
 
 +
Two valid comparison values
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "BETWEEN"
 +
 
 +
Only one AttributeValue specified
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = "BETWEEN"
 +
 
 +
AttributeValue is SET of Number or String or Boolean
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = ""
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = &lt;empty_value&gt;
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
 
 +
 
 +
|-
 +
|
 +
<center>Q-</center>
 +
 
 +
|
 +
One correct field name
 +
 
 +
ComparisonOperator = “something_else”
 +
 
 +
|
 +
error
 +
 
 +
|
 +
<center>N</center>
 +
 
 +
|
 +
<center></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'''
  
 
|
 
|
Line 7,828: Line 8,767:
 
|
 
|
 
<center>Sc-1</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>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
 +
 +
|
 +
 +
 +
|
 +
 +
 +
|
 +
<center></center>
 +
 +
|
 +
<center></center>
 +
 +
|
 +
 +
 +
|-
 +
|
 +
<center>Sc-</center>
  
 
|
 
|
Line 7,846: Line 11,088:
 
|-
 
|-
 
|
 
|
<center>Sc-2</center>
+
<center>Sc-</center>
  
 
|
 
|
Line 7,865: Line 11,107:
 
|-
 
|-
 
|
 
|
<center>Sc-3</center>
+
<center>Sc-</center>
  
 
|
 
|

Revision as of 21:33, 27 March 2014

KVSaaS Test Cases and Ideas

BatchGetItem

BatchWriteItem

#
Description
Results
T
Imp
Notes

General



BWI-1

Complete set of correct options


P


PutRequest



BWI-10

Correct Item string AND

"N" : "string" value


P


BWI-11

Non-existent Item string AND

"N" : "string" value

Error + UnprocessedItems contains unprocessed PutRequest Items

N


BWI-12

EMPTY Item string AND

"N" : "string"

Error + UnprocessedItems contains unprocessed PutRequest Items

N


BWI-13

Correct Item string and

"NS" : ["string"] values



BWI-14

Correct Item string and

"B" : "string" value



BWI-15

Correct Item string and

"BS" : ["string"] values



BWI-16

Correct Item string and

"S" : "string" value



BWI-17

Correct Item string and

"N" : EMPTY value

ValidationException + UnprocessedItems contains unprocessed PutRequest Items


BWI-18

Correct Item string and

"<SOME_STRANGE_OR_EMPTY_VALUE>" : "string" value

ValidationException + UnprocessedItems contains unprocessed PutRequest Items


BWI-19

Correct Item string and

"NS" : "non-existent_string" value

ValidationException + UnprocessedItems contains unprocessed PutRequest Items


BWI-20




DeleteRequest



BWI-30

Correct Key string and

"N" : "string" value



BWI-31

Non-existent Key string and

"N" : "string" value

Error + UnprocessedItems contains unprocessed DeleteRequest Items


BWI-32

EMPTY Key string and

"N" : "string" value

Error + UnprocessedItems contains unprocessed DeleteRequest Items


BWI-33

correct Key string and

"NS" : ["string"] values



BWI-34

correct Key string and

"B" : "string" value



BWI-35

correct Key string and

"BS" : ["string"] values



BWI-36

correct Key string and

"S" : "string" value



BWI-37

Correct Key string and

"SS" : ["string"] values



CombinedRequest



BWI-40

Specify in one statement:

correct Key string for

DeleteRequest "N" : "string" value AND

correct Item string for

PutRequest "N" : "string" value



BWI-41

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



BWI-42

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


RequestItems (TableName)



BWI-50

correct table name and

correct PutRequest parameters for the Item

Line(s) added correctly


BWI-51

Specify 25 correct table names and

correct PutRequest parameters for the Items

Line(s) added correctly into all 25 tables


BWI-52

Specify 26 correct table names and

correct PutRequest parameters for the Items

error/exception (?)


BWI-53

correct table name and

correct DeleteRequest parameters for the Key

Line(s) deleted correctly


BWI-54

INcorrect table name

correct PutRequest parameters for an Item

Check that UnprocessedItems contains unprocessed PutRequest Items:

  • TableName < 3 symbols
  • TableName > 255 symbols
  • Non-existent table name

Exception


BWI-55

Correct table name and

correct PutRequest parameters for the Item

Make total request size more than 1 MB (how to?)

error


BWI-56

correct table name and

correct PutRequest parameters for the Item

Any individual item in a batch exceeds 64 KB (how to?)

error


ReturnItemCollectionMetrics



BWI-60

is NONE (by default)

no statistics returned


BWI-61

is SIZE

statistics about item collections, if any, that were modified during the operation are returned in the response


BWI-62

is <Something_else>

error/exception


ReturnConsumedCapacity



BWI-63

is NONE (by default)


ConsumedCapacity is not included in the response


BWI-64

is TOTAL

the response includes ConsumedCapacity data for tables and indexes


BWI-65

is INDEXES

the response includes ConsumedCapacity for indexes only


BWI-66

is <Something_else> (and empty)

error/exception


Exceptions



BWI-70

Simulate InternalServerError



BWI-71

Simulate ItemCollectionSizeLimitExceededException



BWI-72

Simulate ProvisionedThroughputExceededException



BWI-73

Simulate ResourceNotFoundException



BWI-





CreateTable

#
Description
Results
T
Imp
Notes

General



CreT-1

Create table without any optional attributes, only all mandatory


P


CreT-2

Create a table specifying ALL (including mandatory) the correct parameters


P


CreT-3

Try to create two tables with the same name in the same region

ResourceInUseException expected.

N


CreT-

Try to create two tables with the same name in two different regions.


N


CreT-

Verify first status is CREATING, then ACTIVE


P


CreT-

What happens if read/write to/from table in CREATING state? Possible to reproduce?


N


CreT-

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?



CreT-

Try to create table w/o some mandatory attribute: AttributeDefinitions, KeySchema, ProvisionedThroughput, TableName.


N


AttributeDefinitions



Number of attributes



CreT-

create table with 1 attr


P


CreT-

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?



CreT-

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 ?


AttrName



CreT-

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).


P


CreT-

Try lengh 255+1 for key and indexes attr.


N


CreT-

Check size of non-key / non-index-projected attr names


N


CreT-

Try to send attr names without attr types.


N


CreT-

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).


P


CreT-

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?



CreT-

Try to create a table with attribute of some SET type. It should not be allowed.



KeySchema



CreT-

Create table with a key of HASH type.


P


CreT-

Create table with a key of HASH and RANGE type.


P


CreT-

Try to enumerate key attrs in wrong order: RANGE and then HASH attrs in the KeySchema list


N


CreT-

Try to create a table only with RANGE key


N


CreT-

Try to leave the list empty


N


CreT-

Try to add more than one HASH and/or RANGE attr. In general, add more than 2 attrs to the list.


N


CreT-

Try keytype different from HASH and RANGE.


N


CreT-

Try not to mention key attr in Definitions but only in KeySchema.


N


CreT-

Try to mention attr names not defined in AttrDefinitions.


N


ProvisionedThroughput

(for now, MagnetoDB ignores these values.)



CreT-

Set positive values.


P


CreT-

Try to mention not all mandatory attrs


N


CreT-

Try to pass non-number, negative number


N


TableName



CreT-

Name length is 3


P


CreT-

Name length is 255


P


CreT-

Name length < 3


N


CreT-

Name length > 255


N


CreT-

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.”



CreT-

Provide an empty table name.

exception ?

N


LocalSecondaryIndexes



CreT-

Create index without some of mandatory attributes.


N


Number of indexes



CreT-

Create 1 index for a table


P


CreT-

Create 5 indexes for the table


P


CreT-

Create 6 indexes for the table


N


CreT-

Set LSI attribute as an empty list



CreT-

“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?



IndexName



CreT-

Create an index having 3 characters long name


P


CreT-

Create an index having 255 characters long name


P


CreT-

Create an index having 2 characters long name


N


CreT-

Create an index having 256 characters long name


N


CreT-

TO BE CLARIFIED: Is it case-sensitive? non-letters?



CreT-

Create 2 tables with similar index names.

successful

P


CreT-

Try to create 2 indexes with the same name in one table

error

N


KeySchema



CreT-

Create LSI with Hash different from table hash key (table should have H+R key).



CreT-

Create LSI for table with HASH w/o RANGE. Should fail. But will work for global indexes.



CreT-

Create similar indexes with different names (the same keys, etc)



CreT-

create an index just with HASH key, w/o RANGE



CreT-

‘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.”



CreT-

Test for PutItem: Ensure range key of LSI is not a mandatory attribute.



Projection



CreT-

Check usage of all projection types: KEYS_ONLY, INCLUDE, ALL. Query tests verify that it works as expected.


P


CreT-

Use NonKeyAttributes but skip ProjectionType


N


CreT-

Use NonKeyAttributes list with one attribute in it


P


CreT-

Use key attrs in the NonKeyAttributes list


N


CreT-

Make NonKeyAttributes list empty



N


CreT-

Insert some non-key attrs in NonKeyAttributes list when Pr.Type is KEYS_ONLY. Then - similar but with ALL case.


N


CreT-

Create a table with 20 non-key attrs in one LSI.


P


CreT-

Create a table with 21 non-key attrs in one LSI.


N


CreT-

Create a table with 20 non-key attrs in multiple LSIs.


P


CreT-

Create a table with 21 non-key attrs in diff. LSIs, without repetitions of attr names.


N


CreT-

Create a table with 21 non-key attrs in diff. LSIs, with repetitions of attr names between LSI’s.


N


GlobalSecondaryIndexes



(out of scope now)



Response



CreT-

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


P


CreT-

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)
P


CreT-

If LSI are not created, should this attr be present in response as empty list?



CreT-

Think how to check TableSizeBytes value.



CreT-

CreationDateTime verification: Find a way to get current time from the target system



Exceptions



CreT-

LimitExceededException:

Is related to in-progress states. Not possible to reproduce for now.


N


CreT-

ResourceInUseException:

Recreate existing table (the case was mentioned above)


N


CreT-

InternalServerError:

When this error [500] is expected and when some other error should appear?


N


Additional



CreT-

Create more than 255 tables


N


CreT-





DeleteItem

DeleteTable

#
Description
Results
T
Imp
Notes

General



DelT-1

Delete an existing table. Check if all the Response’s fields (see Table Description object) are equal to the appropriate table parameters


P


DelT-

Delete a non-existent table

ResourceNotFoundException

N


DelT-

Delete a table specifying “” as a name


N


DelT-

Delete a table specifying NULL as a name


N


DelT-

Delete a table w/o specifying any parameters


N


DelT-

Delete a table having a name that contains only 2 or 1 symbol


N


DelT-

Delete a table specifying a name that contains more than 255 symbols

ResourceNotFoundException ?

N


DelT-

Delete an existing table and, while the status is DELETING, run DeleteTable operation for the same table once again


P


Results Verification



DelT-




Exceptions



DelT-

Simulate InternalServerError exception. Ideas?


N


DelT-

Simulate LimitExceededException exception. Ideas?

Delete more than 10 tables in the same time


N


DelT-

Simulate ResourceInUseException exception. Ideas?

Delete a table while it is in use by some other operation


N


DelT-

Simulate ResourceNotFoundException exception. Other ideas?


N


DelT-




DelT-






DescribeTable

#
Description
Results
T
Imp
Notes

General



DesT-1

Run DescribeTable against the existing table. Check that all the required params are described correctly (see “Response Syntax” for DescribeTable statement)


P


DesT-

Run DescribeTable against the non-existent table (ResourceNotFoundException exception)


N


DesT-

Run DescribeTable specifying “” as a table name


N


DesT-

Run DescribeTable specifying NULL as a name


N


DesT-

Run DescribeTable w/o specifying any parameters


N


DesT-

Run DescribeTable specifying a name that contains only 2 or 1 symbol (causes an exception?)


N


DesT-

Run DescribeTable specifying a name that contains more than 255 symbols


N


DesT-

Simulate InternalServerError exception


N


DesT-




DesT-




DesT-





GetItem

#
Description
Results
T
Imp
Notes

General



GI-1

Get an item specifying correct mandatory attributes


P


GI-

Get an item specifying all the correct mandatory and optional ttributes


P


TableName



GI-

Valid (existing) table name


P
Y


GI-

Existing table name of 3 symbols


P
Y


GI-

Existing table name of 255 symbols


P
Y


GI-

From non-existent table name


N


GI-

Empty name (“”)


N


GI-

Less than 3 symbols long


N


GI-

More than 255 symbols long


N


AttributesToGet:



GI-

Specified, correct items in the list


P
Y


GI-

Section not specified


P
Y


GI-

“AttributesToGet” term not specified, but there is a list of items in the section

Exception/error

N


GI-

Section AttributesToGet is specified, but there is just an empty list (no items)

Exception/error

N


GI-

Specified more attributes than exist in the table

Exception/error

N


GI-

Incorrect attributes: Wrong names

Exception/error


GI-

Incorrect attributes: Empty values like ""

Exception/error

N


Key



GI-

One Key specified: “B”


P


GI-

One Key specified: “N”


P


GI-

One Key specified: “S”


P


GI-

One key: “BS”



GI-

One key: “NS”



GI-

One key: “SS”



GI-

Combination of "B", "N", "S" types



GI-

Combination of "B", "N", "S", "BS", "NS", "SS" types



GI-

Combination of “B”, “B”, "N", "N", “S”, “S”, “BS”, “BS”, "NS", "NS", “SS”, “SS” types



GI-

The whole section “Key” not specified

Exception/error

N


GI-

Section “Key” specified, but the section content is empty

Exception/error

N


GI-

One incorrect key specified: something that is not in ("B", "N", "S", "BS", "NS", "SS")

Exception/error

N


GI-

In section “Key” there is a key of type “N” but a non-existent value specified for it

No items returned in Response

N
Y


ConsistentRead



GI-

= True


P


GI-

= False


P


GI-

Not specified


P


GI-

= <Something_else>


N


ReturnConsumedCapacity



GI-

= INDEXES


P


GI-

= TOTAL


P


GI-

= NONE


P


GI-

= <Something_else>


N


Exceptions



GI-

Simulate ConditionalCheckFailedException


N


GI-

Simulate InternalServerError


N


GI-

Simulate ItemCollectionSizeLimitExceededException


N


GI-

Simulate ProvisionedThroughputExceededException


N


GI-

Simulate ResourceNotFoundException


N


GI-





ListTables

#
Description
Results
T
Imp
Notes

General



LisT-1

Neither Limit nor ExclusiveStartTableName specified:

Empty result (if there are no tables in this Tenant and Datacenter were created)


P


LisT-2

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)


P


LisT-3

Neither Limit nor ExclusiveStartTableName specified:

The List does not contain the tables having “CREATING” status


P


LisT-4

Incorrect spelling of ListTables specified like: LisTables or Listables or ListTable, etc


N


LisT-

There is no “{” or “}” in the statement


N


Limit



LisT-
The limit option is not specified and

The number of existing tables is 5

1 page containing all 5 tables

P


LisT-

The limit option is not specified and

The number of tables is 100

1 page containing all 100 tables

P


LisT-

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

P


LisT-

Limit = 3 and

"LastEvaluatedTableName" = <3d_table_name_in_the_table_list_of_the_previous_TC> 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

P


LisT-

Limit = 0

Error/exception

N


LisT-

Limit = -2

Error/exception

N


LisT-

Limit = "Some_strange_string"

Error/exception

N


LisT-

Limit = ""

Error/exception

N


LisT-

Limit = <nothing>

Error/exception

N


LisT-

Case sensitivity (?)



ExclusiveStartTableName



LisT-

The "ExclusiveStartTableName" option not specified


P


LisT-

An existing "ExclusiveStartTableName" specified


P


LisT-

An existing "ExclusiveStartTableName" specified when:

There were no previous runs of ListTables statement


P


LisT-

An existing "ExclusiveStartTableName" specified when:

Previous run of ListTables statement returned just one page


P


LisT-

"ExclusiveStartTableName" is 3 symbols long


P


LisT-

Table name is 255 symbols long


P


LisT-

Table name is 1 or 2 symbols long


N


LisT-

Table name is 256 or more symbols long


N


LisT-

A non-existent table name specified


N


LisT-

No table names specified


N


LisT-

An empty (like "ExclusiveStartTableName" :) table name specified


N


Tenant



LisT-

Switch to another tenant and

Perform ListTables operations:

The "ExclusiveStartTableName" option not specified

A unique (pertinent to this specific Tenant) list of tables returned

P


LisT-

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

P


DataCenter (endpoint)

Switch to another Datacenter and

Perform ListTables operations:



LisT-

The "ExclusiveStartTableName" option not specified

A unique (pertinent to this specific Datacenter) list of tables returned

P


LisT-

An existing table name specified in "ExclusiveStartTableName"

A unique (pertinent to this specific Datacenter) list of tables returned starting from the specified table name

P


LisT-





PutItem

Note: For each test, check the ResponseValue for required options and values

#
Description
Results
T
Imp
Notes

General



PI-1

Specify correct required fields only


P


PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-




PI-





Query

''''#
Description
Results
T
Imp
Notes

General



Q-1

Query statement contains the correct mandatory parameters only


P


Q-

Query statement contains ALL the correct parameters


P


TableName



Q-

Valid name specified


P
Y


Q-

Non-existent name


N
Y


Q-

Empty name


N


Q-

Less than 3 symbols long


N


Q-

More than 255 symbols long


N


Q-

Exactly 3 and 255 symbols long


P


Q-

Upper and lower cases



AttributesToGet



Q-

Specified correct attributes


P


Q-

Not specified



Q-

Specified more attributes than exist in the table


N


Q-

Specified incorrect attributes: wrong names


N


Q-

Specified incorrect attributes: empty values like ""


N


Q-

Exact correct list:

Select = SPECIFIC_ATTRIBUTES

Correct result

P


Q-

Exact correct list:

Select = ALL_ATTRIBUTES

error

N


Q-

Exact correct list:

Select = ALL_PROJECTED_ATTRIBUTES

error

N


Q-

Exact correct list:

Select = COUNT

error

N


Q-

Exact correct list:

Select = “”

error

N


Q-

Exact correct list:

Select = “something_else”

error

N


Q-

The option is not specified



Q-

Completely incorrect list


N


Q-

Some correct and some incorrect names in the list


N


Q-

Empty list


N


Q-

Not specified


P


KeyConditions



Q-

Key "B" specified


P


Q-

Key "N" specified


P


Q-

Key "S" specified


P


Q-

Key "BS" specified


P


Q-

Key "NS" specified


P


Q-

Key "SS" specified


P


Q-

Combination of "B" + "N" + "S"


P


Q-

Combination of all 6 types ("B" + "N" + "S" + "BS" + "NS" + "SS")


P


Q-

Not specified


P
Y


Q-

One incorrect key specified: something that is not in ("B", "N", "S", "BS", "NS", "SS")


N


ConsistentRead



Q-

= True


P


Q-

Option not specified


P


Q-

= “Something else”

error

N


ReturnConsumedCapacity



Q-

= "INDEXES"


P


Q-

= "TOTAL"


P


Q-

= "NONE"


P


Q-

= “Something_else”


N


Q-

= “”


N


Q-

= <Empty value>


N


ExclusiveStartKey



Q-

is String

Records are taken starting by LastKeyValue of the previous operation

P


Q-

is Number

Records are taken starting by LastKeyValue of the previous operation

P


Q-

is Binary

Records are taken starting by LastKeyValue of the previous operation

P


is S or N or B, but there was no previous operations

What’s the content of ExclusiveStartKey?


Q-

is Set of S or N or B

error

N


Q-

Not specified


P


Q-

Incorrect ExclusiveStartKey

Error

N


IndexName



Q-

correct Local SI (Secondary Index)


P


Q-

correct Global SI


P


Q-

non-existent LSI


N


Q-

non-existent GSI


N


Q-

Not specified


P


Q-

Name length < 3 symbols

error

N


Q-

Name length > 255 symbols

error

N


Q-

Empty index name

error


Q-

Upper case index name

?


Q-

Lower case index name

?


Q-

Mix of Upper/lower case letters in index name

?


Limit



Q-

Valid statement that returns > 10 lines,

Limit = 5

5 lines returned and LastEvaluatedKey points to the last returned line

P


Q-

Valid statement that returns N lines

Limit = N*2

N lines returned and LastEvaluatedKey points to the last returned line

P


Q-

Valid statement that returns N (< 5) lines

Limit = 5

N lines returned and LastEvaluatedKey points to the last returned line

P


Q-

Valid statement that returns N (< 5) lines

Limit = 0

?


Q-

Valid statement that returns data size > 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


ScanIndexForward



Q-

= TRUE (by default)

data are sorted by ascending of the index key

P


Q-

= FALSE

data are sorted by descending of the index key

P


Q-

= “Another value”

error

N


Q-

= <empty value>

?


Select



Q-

= ALL_ATTRIBUTES

Returns all of the item attributes from the specified table or index

P


Q-

= ALL_PROJECTED_ATTRIBUTES

Retrieves all attributes which have been projected into the index

P


Q-

= COUNT

Returns the number of matching items, rather than the matching items themselves


Q-

= SPECIFIC_ATTRIBUTES

Returns only the attributes listed in AttributesToGet

P


Q-

= <empty value>

error

N


Q-

= “”

error

N


Q-

= “Something else”

error

N


KeyConditions



Q-

One correct field name

ComparisonOperator = "EQ"

Existing record should be returned (STRING, NUMBER, BOOLEAN)

P


Q-

One correct field name

ComparisonOperator = "EQ"

AttributeValue is SET of Number or String or Boolean


P


Q-

One correct field name

ComparisonOperator = "EQ"

Two AttributeValues specified (NUMBER and STRING)


P


Q-

One correct field name (BINARY)

ComparisonOperator = "EQ"

AttributeValue is of type NUMBER or STRING

error?

N


Q-

One INcorrect field name

ComparisonOperator = "EQ"

Valid comparison value

error ?

N


Q-

One correct field name

ComparisonOperator = "EQ"

Comparison expression represents a combination thet does not exist in the actual table

No records returned

P


Q-

One correct field name

INVALID ComparisonOperator

Valid comparison value

error?

N


Q-

One correct field name (Number or String or Boolean)

ComparisonOperator = "LE"

Valid comparison value (STRING or NUMBER or BOOLEAN)

ok

P


Q-

One correct field name

ComparisonOperator = "LE"

Two AttributeValues specified

error?

N


Q-

One correct field name

ComparisonOperator = "LE"

AttributeValue is SET of Number or String or Boolean

error?

N


Q-

One correct field name (Number or String or Boolean)

ComparisonOperator = "LT"

Valid comparison value (STRING or NUMBER or BOOLEAN)

ok

P


Q-

One correct field name

ComparisonOperator = "LT"

Two AttributeValues specified

error?

N


Q-

One correct field name (a set)

ComparisonOperator = "LT"

AttributeValue is SET of the same type

error?

N


Q-

One correct field name

ComparisonOperator = "GE"

Valid comparison value (STRING or NUMBER or BOOLEAN)

ok

P


Q-

One correct field name (N type)

ComparisonOperator = "GE"

Two (N and S) AttributeValues specified

error

N


Q-

One correct field name

ComparisonOperator = "GE"

AttributeValue is SET of Number or String or Boolean

error

N


Q-

One correct field name (Number or String or Boolean)

ComparisonOperator = "GT"

Valid comparison value (STRING or NUMBER or BOOLEAN)

ok

P


Q-

One correct field name

ComparisonOperator = "GT"

Two AttributeValues specified

error?

N


Q-

One correct field name (Number or String or Boolean)

ComparisonOperator = "GT"

AttributeValue is SET of Number or String or Boolean

ok

P


Q-

One correct field name

ComparisonOperator = "BEGINS_WITH"

Valid comparison value (STRING, BOOLEAN)

ok

P


Q-

One non-existent field name

ComparisonOperator = "BEGINS_WITH"

Valid comparison value (STRING, BOOLEAN)


P


Q-

One correct field name

ComparisonOperator = "BEGINS_WITH"

Two AttributeValues specified

error

N


Q-

One correct field name

ComparisonOperator = "BEGINS_WITH"

AttributeValue is SET of Number or String or Boolean

error

N


Q-

One correct field name

ComparisonOperator = "BETWEEN"

Two valid comparison values

ok

P


Q-

One non-existent field name

ComparisonOperator = "BETWEEN"

Two valid comparison values

error

N


Q-

One correct field name

ComparisonOperator = "BETWEEN"

Only one AttributeValue specified

error

N


Q-

One correct field name

ComparisonOperator = "BETWEEN"

AttributeValue is SET of Number or String or Boolean

error

N


Q-

One correct field name

ComparisonOperator = ""

error

N


Q-

One correct field name

ComparisonOperator = <empty_value>

error

N


Q-

One correct field name

ComparisonOperator = “something_else”

error

N


Q-





Scan

#
Description
Results
T
Imp
Notes

General



Sc-1

scan stops and returns results if processed data size exceeds 1 MB


P


Sc-

Reproduce: Scan result is empty


P


Sc-

Parallel scan topic - out of scope for now



TableName



Sc-

scan with only required parameter (table name)


P


Sc-

scan if name length is 3


P


Sc-

scan if name length is 255


P


Sc-

scan with name length < 3

error?

N


Sc-

scan with name length is > 255

error?

N


Sc-

upper-lower case in t.name

?


Sc-

non-existent table name


N


Sc-

diff. symbols in t. name


N


Sc-

scan request without required parameter - table name


N


AttributesToGet



Sc-

Skip it: all attrs should be returned


P


Sc-

include all params

?

P


Sc-

empty list of attrs


N


Sc-

the only attr in the list is non-key attr


P


Sc-

the only attr in the list is attr that does not participate in a filter


P


Sc-

try nonexistent attrs

should not be displayed in results?


Sc-

Filter can find items, but selected attrs are not present in those items:

selected attrs are present in some other items



Sc-

Filter can find items, but selected attrs are not present in those items:

selected attrs are not present in any items



Sc-

Repeat the same attr[s] in this list


N


ExclusiveStartKey



Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-




Sc-





UpdateItem

UpdateTable

==