1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
package dynamodb_test
import (
"github.com/goamz/goamz/dynamodb"
. "gopkg.in/check.v1"
)
type TableSuite struct {
TableDescriptionT dynamodb.TableDescriptionT
DynamoDBTest
}
func (s *TableSuite) SetUpSuite(c *C) {
setUpAuth(c)
s.DynamoDBTest.TableDescriptionT = s.TableDescriptionT
s.server = &dynamodb.Server{dynamodb_auth, dynamodb_region}
pk, err := s.TableDescriptionT.BuildPrimaryKey()
if err != nil {
c.Skip(err.Error())
}
s.table = s.server.NewTable(s.TableDescriptionT.TableName, pk)
// Cleanup
s.TearDownSuite(c)
}
var table_suite = &TableSuite{
TableDescriptionT: dynamodb.TableDescriptionT{
TableName: "DynamoDBTestMyTable",
AttributeDefinitions: []dynamodb.AttributeDefinitionT{
dynamodb.AttributeDefinitionT{"TestHashKey", "S"},
dynamodb.AttributeDefinitionT{"TestRangeKey", "N"},
dynamodb.AttributeDefinitionT{"TestSecKey", "N"},
},
KeySchema: []dynamodb.KeySchemaT{
dynamodb.KeySchemaT{"TestHashKey", "HASH"},
dynamodb.KeySchemaT{"TestRangeKey", "RANGE"},
},
GlobalSecondaryIndexes: []dynamodb.GlobalSecondaryIndexT{
dynamodb.GlobalSecondaryIndexT{
IndexName: "gsiTest",
KeySchema: []dynamodb.KeySchemaT{
dynamodb.KeySchemaT{"TestHashKey", "HASH"},
dynamodb.KeySchemaT{"TestSecKey", "RANGE"},
},
Projection: dynamodb.ProjectionT{"ALL"},
ProvisionedThroughput: dynamodb.ProvisionedThroughputT{
ReadCapacityUnits: 1,
WriteCapacityUnits: 1,
},
},
},
ProvisionedThroughput: dynamodb.ProvisionedThroughputT{
ReadCapacityUnits: 1,
WriteCapacityUnits: 1,
},
},
}
var _ = Suite(table_suite)
func (s *TableSuite) TestCreateListTable(c *C) {
status, err := s.server.CreateTable(s.TableDescriptionT)
if err != nil {
c.Fatal(err)
}
if status != "ACTIVE" && status != "CREATING" {
c.Error("Expect status to be ACTIVE or CREATING")
}
s.WaitUntilStatus(c, "ACTIVE")
tables, err := s.server.ListTables()
if err != nil {
c.Fatal(err)
}
c.Check(len(tables), Not(Equals), 0)
c.Check(findTableByName(tables, s.TableDescriptionT.TableName), Equals, true)
}
|