gifs/api
2014-10-17
Parent:08ec88016e2f
gifs/api/datastore_test.go
Stub out the rest of our datastore tests. Seriously, just define the functions we eventually want to write.
| paddy@0 | 1 package api |
| paddy@0 | 2 |
| paddy@0 | 3 import ( |
| paddy@0 | 4 "testing" |
| paddy@0 | 5 "time" |
| paddy@0 | 6 |
| paddy@2 | 7 "code.secondbit.org/uuid.hg" |
| paddy@0 | 8 ) |
| paddy@0 | 9 |
| paddy@0 | 10 var datastores = []Datastore{NewMemstore()} |
| paddy@0 | 11 |
| paddy@0 | 12 func compareCollections(expectation, result Collection) (field string, expected, got interface{}) { |
| paddy@0 | 13 if !expectation.ID.Equal(result.ID) { |
| paddy@0 | 14 return "ID", expectation.ID, result.ID |
| paddy@0 | 15 } |
| paddy@0 | 16 if expectation.Name != result.Name { |
| paddy@0 | 17 return "name", expectation.Name, result.Name |
| paddy@0 | 18 } |
| paddy@0 | 19 if !expectation.Owner.Equal(result.Owner) { |
| paddy@0 | 20 return "owner", expectation.Owner, result.Owner |
| paddy@0 | 21 } |
| paddy@0 | 22 if !expectation.Created.Equal(result.Created) { |
| paddy@0 | 23 return "created", expectation.Created, result.Created |
| paddy@0 | 24 } |
| paddy@0 | 25 return "", nil, nil |
| paddy@0 | 26 } |
| paddy@0 | 27 |
| paddy@0 | 28 func TestCreateCollection(t *testing.T) { |
| paddy@0 | 29 for pos, datastore := range datastores { |
| paddy@0 | 30 expectation := Collection{ |
| paddy@0 | 31 ID: uuid.NewID(), |
| paddy@0 | 32 Name: "Test Collection", |
| paddy@0 | 33 Owner: uuid.NewID(), |
| paddy@0 | 34 Created: time.Now(), |
| paddy@0 | 35 } |
| paddy@0 | 36 err := datastore.CreateCollection(expectation) |
| paddy@0 | 37 if err != nil { |
| paddy@0 | 38 t.Errorf("Error creating collection in datastore %d: %s\n", pos, err) |
| paddy@0 | 39 } |
| paddy@0 | 40 result, err := datastore.GetCollectionByID(expectation.ID) |
| paddy@0 | 41 if err != nil { |
| paddy@0 | 42 t.Errorf("Error retrieving collection in datastore %d: %s\n", pos, err) |
| paddy@0 | 43 } |
| paddy@0 | 44 field, exp, got := compareCollections(expectation, result) |
| paddy@0 | 45 if field != "" { |
| paddy@0 | 46 t.Errorf("Collection did not meet expectations for datastore %d. Expected %v for %s, got %v.", pos, exp, field, got) |
| paddy@0 | 47 } |
| paddy@0 | 48 } |
| paddy@0 | 49 } |
| paddy@2 | 50 |
| paddy@2 | 51 func TestUpdateCollection(t *testing.T) { |
| paddy@2 | 52 } |
| paddy@2 | 53 |
| paddy@2 | 54 func TestUpdateCollectionCollectionNotFound(t *testing.T) { |
| paddy@2 | 55 } |
| paddy@2 | 56 |
| paddy@2 | 57 func TestGetCollectionByDomain(t *testing.T) { |
| paddy@2 | 58 } |
| paddy@2 | 59 |
| paddy@2 | 60 func TestGetCollectionByDomainCollectionNotFound(t *testing.T) { |
| paddy@2 | 61 } |
| paddy@2 | 62 |
| paddy@2 | 63 func TestGetCollectionByID(t *testing.T) { |
| paddy@2 | 64 } |
| paddy@2 | 65 |
| paddy@2 | 66 func TestGetCollectionByIDCollectionNotFound(t *testing.T) { |
| paddy@2 | 67 } |
| paddy@2 | 68 |
| paddy@2 | 69 func TestGetCollectionsByUser(t *testing.T) { |
| paddy@2 | 70 } |
| paddy@2 | 71 |
| paddy@2 | 72 func TestGetCollectionsByUserNoCollections(t *testing.T) { |
| paddy@2 | 73 } |
| paddy@2 | 74 |
| paddy@2 | 75 func TestAddDomainToCollection(t *testing.T) { |
| paddy@2 | 76 } |
| paddy@2 | 77 |
| paddy@2 | 78 func TestAddDomainToCollectionDomainAlreadyExists(t *testing.T) { |
| paddy@2 | 79 } |
| paddy@2 | 80 |
| paddy@2 | 81 func TestAddDomainToCollectionCollectionNotFound(t *testing.T) { |
| paddy@2 | 82 } |
| paddy@2 | 83 |
| paddy@2 | 84 func TestRemoveDomainFromCollection(t *testing.T) { |
| paddy@2 | 85 } |
| paddy@2 | 86 |
| paddy@2 | 87 func TestRemoveDomainFromCollectionDomainNotFound(t *testing.T) { |
| paddy@2 | 88 } |
| paddy@2 | 89 |
| paddy@2 | 90 func TestGetDomainsByCollection(t *testing.T) { |
| paddy@2 | 91 } |
| paddy@2 | 92 |
| paddy@2 | 93 func TestGetDomainsByCollectionNoResults(t *testing.T) { |
| paddy@2 | 94 } |
| paddy@2 | 95 |
| paddy@2 | 96 func TestDeleteCollection(t *testing.T) { |
| paddy@2 | 97 } |
| paddy@2 | 98 |
| paddy@2 | 99 func TestDeleteCollectionCollectionNotFound(t *testing.T) { |
| paddy@2 | 100 } |
| paddy@2 | 101 |
| paddy@2 | 102 func TestGetItemsByCollectionDomain(t *testing.T) { |
| paddy@2 | 103 } |
| paddy@2 | 104 |
| paddy@2 | 105 func TestGetItemsByCollectionDomainCollectionNotFound(t *testing.T) { |
| paddy@2 | 106 } |
| paddy@2 | 107 |
| paddy@2 | 108 func TestGetItemsByCollectionDomainNoResults(t *testing.T) { |
| paddy@2 | 109 } |
| paddy@2 | 110 |
| paddy@2 | 111 func TestGetItemsByCollectionID(t *testing.T) { |
| paddy@2 | 112 } |
| paddy@2 | 113 |
| paddy@2 | 114 func TestGetItemsByCollectionIDCollectionNotFound(t *testing.T) { |
| paddy@2 | 115 } |
| paddy@2 | 116 |
| paddy@2 | 117 func TestGetItemsByCollectionIDNoResults(t *testing.T) { |
| paddy@2 | 118 } |
| paddy@2 | 119 |
| paddy@2 | 120 func TestAddItemToCollection(t *testing.T) { |
| paddy@2 | 121 } |
| paddy@2 | 122 |
| paddy@2 | 123 func TestAddItemToCollectionCollectionNotFound(t *testing.T) { |
| paddy@2 | 124 } |
| paddy@2 | 125 |
| paddy@2 | 126 func TestAddItemToCollectionItemAlreadyExists(t *testing.T) { |
| paddy@2 | 127 } |
| paddy@2 | 128 |
| paddy@2 | 129 func TestGetItemByName(t *testing.T) { |
| paddy@2 | 130 } |
| paddy@2 | 131 |
| paddy@2 | 132 func TestGetItemByNameCollectionNotFound(t *testing.T) { |
| paddy@2 | 133 } |
| paddy@2 | 134 |
| paddy@2 | 135 func TestGetItemByNameItemNotFound(t *testing.T) { |
| paddy@2 | 136 } |
| paddy@2 | 137 |
| paddy@2 | 138 func TestDeleteItem(t *testing.T) { |
| paddy@2 | 139 } |
| paddy@2 | 140 |
| paddy@2 | 141 func TestDeleteItemItemNotFound(t *testing.T) { |
| paddy@2 | 142 } |