Jump to: navigation, search

MagnetoDB/QA/Test cases

< MagnetoDB
Revision as of 14:53, 26 March 2014 by Max U (talk | contribs)

KVSaaS Test Cases

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-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-




CreT-





DeleteItem

DeleteTable

#
Description
Results
T
Imp
Notes

General



DelT-1




DelT-2




DelT-3






DescribeTable

#
Description
Results
T
Imp
Notes

General



DesT-1




DesT-2




DesT-3





GetItem

#
Description
Results
T
Imp
Notes

General



GI-1




GI-2




GI-3





ListTables

#
Description
Results
T
Imp
Notes

General



LisT-1




LisT-2




LisT-3





PutItem

''''#
Description
Results
T
Imp
Notes

General



PI-1




PI-2




PI-3





Query

#
Description
Results
T
Imp
Notes

General



Q-1




Q-2




Q-3





Scan

#
Description
Results
T
Imp
Notes

General



Sc-1




Sc-2




Sc-3





UpdateItem

UpdateTable

==