diff options
Diffstat (limited to 'vendor/github.com/goamz/goamz/dynamodb/query_builder_test.go')
-rwxr-xr-x | vendor/github.com/goamz/goamz/dynamodb/query_builder_test.go | 380 |
1 files changed, 0 insertions, 380 deletions
diff --git a/vendor/github.com/goamz/goamz/dynamodb/query_builder_test.go b/vendor/github.com/goamz/goamz/dynamodb/query_builder_test.go deleted file mode 100755 index 9a1f6f2c5..000000000 --- a/vendor/github.com/goamz/goamz/dynamodb/query_builder_test.go +++ /dev/null @@ -1,380 +0,0 @@ -package dynamodb_test - -import ( - simplejson "github.com/bitly/go-simplejson" - "github.com/goamz/goamz/aws" - "github.com/goamz/goamz/dynamodb" - . "gopkg.in/check.v1" -) - -type QueryBuilderSuite struct { - server *dynamodb.Server -} - -var _ = Suite(&QueryBuilderSuite{}) - -func (s *QueryBuilderSuite) SetUpSuite(c *C) { - auth := &aws.Auth{AccessKey: "", SecretKey: "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"} - s.server = &dynamodb.Server{*auth, aws.USEast} -} - -func (s *QueryBuilderSuite) TestEmptyQuery(c *C) { - q := dynamodb.NewEmptyQuery() - queryString := q.String() - expectedString := "{}" - c.Check(queryString, Equals, expectedString) - - if expectedString != queryString { - c.Fatalf("Unexpected Query String : %s\n", queryString) - } -} - -func (s *QueryBuilderSuite) TestAddWriteRequestItems(c *C) { - primary := dynamodb.NewStringAttribute("WidgetFoo", "") - secondary := dynamodb.NewNumericAttribute("Created", "") - key := dynamodb.PrimaryKey{primary, secondary} - table := s.server.NewTable("FooData", key) - - primary2 := dynamodb.NewStringAttribute("TestHashKey", "") - secondary2 := dynamodb.NewNumericAttribute("TestRangeKey", "") - key2 := dynamodb.PrimaryKey{primary2, secondary2} - table2 := s.server.NewTable("TestTable", key2) - - q := dynamodb.NewEmptyQuery() - - attribute1 := dynamodb.NewNumericAttribute("testing", "4") - attribute2 := dynamodb.NewNumericAttribute("testingbatch", "2111") - attribute3 := dynamodb.NewStringAttribute("testingstrbatch", "mystr") - item1 := []dynamodb.Attribute{*attribute1, *attribute2, *attribute3} - - attribute4 := dynamodb.NewNumericAttribute("testing", "444") - attribute5 := dynamodb.NewNumericAttribute("testingbatch", "93748249272") - attribute6 := dynamodb.NewStringAttribute("testingstrbatch", "myotherstr") - item2 := []dynamodb.Attribute{*attribute4, *attribute5, *attribute6} - - attributeDel1 := dynamodb.NewStringAttribute("TestHashKeyDel", "DelKey") - attributeDel2 := dynamodb.NewNumericAttribute("TestRangeKeyDel", "7777777") - itemDel := []dynamodb.Attribute{*attributeDel1, *attributeDel2} - - attributeTest1 := dynamodb.NewStringAttribute("TestHashKey", "MyKey") - attributeTest2 := dynamodb.NewNumericAttribute("TestRangeKey", "0193820384293") - itemTest := []dynamodb.Attribute{*attributeTest1, *attributeTest2} - - tableItems := map[*dynamodb.Table]map[string][][]dynamodb.Attribute{} - actionItems := make(map[string][][]dynamodb.Attribute) - actionItems["Put"] = [][]dynamodb.Attribute{item1, item2} - actionItems["Delete"] = [][]dynamodb.Attribute{itemDel} - tableItems[table] = actionItems - - actionItems2 := make(map[string][][]dynamodb.Attribute) - actionItems2["Put"] = [][]dynamodb.Attribute{itemTest} - tableItems[table2] = actionItems2 - - q.AddWriteRequestItems(tableItems) - - queryJson, err := simplejson.NewJson([]byte(q.String())) - if err != nil { - c.Fatal(err) - } - - expectedJson, err := simplejson.NewJson([]byte(` -{ - "RequestItems": { - "TestTable": [ - { - "PutRequest": { - "Item": { - "TestRangeKey": { - "N": "0193820384293" - }, - "TestHashKey": { - "S": "MyKey" - } - } - } - } - ], - "FooData": [ - { - "DeleteRequest": { - "Key": { - "TestRangeKeyDel": { - "N": "7777777" - }, - "TestHashKeyDel": { - "S": "DelKey" - } - } - } - }, - { - "PutRequest": { - "Item": { - "testingstrbatch": { - "S": "mystr" - }, - "testingbatch": { - "N": "2111" - }, - "testing": { - "N": "4" - } - } - } - }, - { - "PutRequest": { - "Item": { - "testingstrbatch": { - "S": "myotherstr" - }, - "testingbatch": { - "N": "93748249272" - }, - "testing": { - "N": "444" - } - } - } - } - ] - } -} - `)) - if err != nil { - c.Fatal(err) - } - c.Check(queryJson, DeepEquals, expectedJson) -} - -func (s *QueryBuilderSuite) TestAddExpectedQuery(c *C) { - primary := dynamodb.NewStringAttribute("domain", "") - key := dynamodb.PrimaryKey{primary, nil} - table := s.server.NewTable("sites", key) - - q := dynamodb.NewQuery(table) - q.AddKey(table, &dynamodb.Key{HashKey: "test"}) - - expected := []dynamodb.Attribute{ - *dynamodb.NewStringAttribute("domain", "expectedTest").SetExists(true), - *dynamodb.NewStringAttribute("testKey", "").SetExists(false), - } - q.AddExpected(expected) - - queryJson, err := simplejson.NewJson([]byte(q.String())) - if err != nil { - c.Fatal(err) - } - - expectedJson, err := simplejson.NewJson([]byte(` - { - "Expected": { - "domain": { - "Exists": "true", - "Value": { - "S": "expectedTest" - } - }, - "testKey": { - "Exists": "false" - } - }, - "Key": { - "domain": { - "S": "test" - } - }, - "TableName": "sites" - } - `)) - if err != nil { - c.Fatal(err) - } - c.Check(queryJson, DeepEquals, expectedJson) -} - -func (s *QueryBuilderSuite) TestGetItemQuery(c *C) { - primary := dynamodb.NewStringAttribute("domain", "") - key := dynamodb.PrimaryKey{primary, nil} - table := s.server.NewTable("sites", key) - - q := dynamodb.NewQuery(table) - q.AddKey(table, &dynamodb.Key{HashKey: "test"}) - - { - queryJson, err := simplejson.NewJson([]byte(q.String())) - if err != nil { - c.Fatal(err) - } - - expectedJson, err := simplejson.NewJson([]byte(` - { - "Key": { - "domain": { - "S": "test" - } - }, - "TableName": "sites" - } - `)) - if err != nil { - c.Fatal(err) - } - c.Check(queryJson, DeepEquals, expectedJson) - } - - // Use ConsistentRead - { - q.ConsistentRead(true) - queryJson, err := simplejson.NewJson([]byte(q.String())) - if err != nil { - c.Fatal(err) - } - - expectedJson, err := simplejson.NewJson([]byte(` - { - "ConsistentRead": "true", - "Key": { - "domain": { - "S": "test" - } - }, - "TableName": "sites" - } - `)) - if err != nil { - c.Fatal(err) - } - c.Check(queryJson, DeepEquals, expectedJson) - } -} - -func (s *QueryBuilderSuite) TestUpdateQuery(c *C) { - primary := dynamodb.NewStringAttribute("domain", "") - rangek := dynamodb.NewNumericAttribute("time", "") - key := dynamodb.PrimaryKey{primary, rangek} - table := s.server.NewTable("sites", key) - - countAttribute := dynamodb.NewNumericAttribute("count", "4") - attributes := []dynamodb.Attribute{*countAttribute} - - q := dynamodb.NewQuery(table) - q.AddKey(table, &dynamodb.Key{HashKey: "test", RangeKey: "1234"}) - q.AddUpdates(attributes, "ADD") - - queryJson, err := simplejson.NewJson([]byte(q.String())) - if err != nil { - c.Fatal(err) - } - expectedJson, err := simplejson.NewJson([]byte(` -{ - "AttributeUpdates": { - "count": { - "Action": "ADD", - "Value": { - "N": "4" - } - } - }, - "Key": { - "domain": { - "S": "test" - }, - "time": { - "N": "1234" - } - }, - "TableName": "sites" -} - `)) - if err != nil { - c.Fatal(err) - } - c.Check(queryJson, DeepEquals, expectedJson) -} - -func (s *QueryBuilderSuite) TestAddUpdates(c *C) { - primary := dynamodb.NewStringAttribute("domain", "") - key := dynamodb.PrimaryKey{primary, nil} - table := s.server.NewTable("sites", key) - - q := dynamodb.NewQuery(table) - q.AddKey(table, &dynamodb.Key{HashKey: "test"}) - - attr := dynamodb.NewStringSetAttribute("StringSet", []string{"str", "str2"}) - - q.AddUpdates([]dynamodb.Attribute{*attr}, "ADD") - - queryJson, err := simplejson.NewJson([]byte(q.String())) - if err != nil { - c.Fatal(err) - } - expectedJson, err := simplejson.NewJson([]byte(` -{ - "AttributeUpdates": { - "StringSet": { - "Action": "ADD", - "Value": { - "SS": ["str", "str2"] - } - } - }, - "Key": { - "domain": { - "S": "test" - } - }, - "TableName": "sites" -} - `)) - if err != nil { - c.Fatal(err) - } - c.Check(queryJson, DeepEquals, expectedJson) -} - -func (s *QueryBuilderSuite) TestAddKeyConditions(c *C) { - primary := dynamodb.NewStringAttribute("domain", "") - key := dynamodb.PrimaryKey{primary, nil} - table := s.server.NewTable("sites", key) - - q := dynamodb.NewQuery(table) - acs := []dynamodb.AttributeComparison{ - *dynamodb.NewStringAttributeComparison("domain", "EQ", "example.com"), - *dynamodb.NewStringAttributeComparison("path", "EQ", "/"), - } - q.AddKeyConditions(acs) - queryJson, err := simplejson.NewJson([]byte(q.String())) - - if err != nil { - c.Fatal(err) - } - - expectedJson, err := simplejson.NewJson([]byte(` -{ - "KeyConditions": { - "domain": { - "AttributeValueList": [ - { - "S": "example.com" - } - ], - "ComparisonOperator": "EQ" - }, - "path": { - "AttributeValueList": [ - { - "S": "/" - } - ], - "ComparisonOperator": "EQ" - } - }, - "TableName": "sites" -} - `)) - if err != nil { - c.Fatal(err) - } - c.Check(queryJson, DeepEquals, expectedJson) -} |