github.com/smugmug/godynamo@v0.0.0-20151122084750-7913028f6623/endpoints/describe_table/describe_table_test.go (about) 1 package describe_table 2 3 import ( 4 "encoding/json" 5 "testing" 6 ) 7 8 func TestNil(t *testing.T) { 9 d := NewDescribeTable() 10 _,_,err := d.EndpointReqWithConf(nil) 11 if err == nil { 12 t.Errorf("nil conf should result in error") 13 } 14 } 15 16 func TestRequestMarshal(t *testing.T) { 17 s := []string{ 18 `{"TableName":"Thread"}`, 19 } 20 for _, v := range s { 21 var d DescribeTable 22 um_err := json.Unmarshal([]byte(v), &d) 23 if um_err != nil { 24 t.Errorf("cannot unmarshal\n") 25 } 26 _, jerr := json.Marshal(d) 27 if jerr != nil { 28 t.Errorf("cannot marshal\n") 29 } 30 31 } 32 } 33 34 func TestResponseMarshal(t *testing.T) { 35 s := []string{`{"Table":{"AttributeDefinitions":[{"AttributeName":"ForumName","AttributeType":"S"},{"AttributeName":"LastPostDateTime","AttributeType":"S"},{"AttributeName":"Subject","AttributeType":"S"}],"CreationDateTime":1.36372808007E9,"ItemCount":0,"KeySchema":[{"AttributeName":"ForumName","KeyType":"HASH"},{"AttributeName":"Subject","KeyType":"RANGE"}],"LocalSecondaryIndexes":[{"IndexName":"LastPostIndex","IndexSizeBytes":0,"ItemCount":0,"KeySchema":[{"AttributeName":"ForumName","KeyType":"HASH"},{"AttributeName":"LastPostDateTime","KeyType":"RANGE"}],"Projection":{"ProjectionType":"KEYS_ONLY"}}],"ProvisionedThroughput":{"NumberOfDecreasesToday":0,"ReadCapacityUnits":5,"WriteCapacityUnits":5},"TableName":"Thread","TableSizeBytes":0,"TableStatus":"CREATING"}}`} 36 for _, v := range s { 37 var d Response 38 um_err := json.Unmarshal([]byte(v), &d) 39 if um_err != nil { 40 t.Errorf("cannot unmarshal\n") 41 } 42 _, jerr := json.Marshal(d) 43 if jerr != nil { 44 t.Errorf("cannot marshal\n") 45 } 46 } 47 }