(t *testing.T)
| 197 | } |
| 198 | |
| 199 | func TestBasicHandler_serveVerify(t *testing.T) { |
| 200 | basic := &basicHandler{} |
| 201 | |
| 202 | m := macaron.New() |
| 203 | m.Use(macaron.Renderer()) |
| 204 | m.Use(func(c *macaron.Context) { |
| 205 | c.Map(&database.Repository{Name: "repo"}) |
| 206 | }) |
| 207 | m.Post("/", basic.serveVerify) |
| 208 | |
| 209 | tests := []struct { |
| 210 | name string |
| 211 | body string |
| 212 | mockStore func() *MockStore |
| 213 | expStatusCode int |
| 214 | expBody string |
| 215 | }{ |
| 216 | { |
| 217 | name: "invalid oid", |
| 218 | body: `{"oid": "bad_oid"}`, |
| 219 | expStatusCode: http.StatusBadRequest, |
| 220 | expBody: `{"message":"Invalid oid"}` + "\n", |
| 221 | }, |
| 222 | { |
| 223 | name: "object does not exist", |
| 224 | body: `{"oid":"ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f"}`, |
| 225 | mockStore: func() *MockStore { |
| 226 | mockStore := NewMockStore() |
| 227 | mockStore.GetLFSObjectByOIDFunc.SetDefaultReturn(nil, database.ErrLFSObjectNotExist{}) |
| 228 | return mockStore |
| 229 | }, |
| 230 | expStatusCode: http.StatusNotFound, |
| 231 | expBody: `{"message":"Object does not exist"}` + "\n", |
| 232 | }, |
| 233 | { |
| 234 | name: "object size mismatch", |
| 235 | body: `{"oid":"ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f"}`, |
| 236 | mockStore: func() *MockStore { |
| 237 | mockStore := NewMockStore() |
| 238 | mockStore.GetLFSObjectByOIDFunc.SetDefaultReturn(&database.LFSObject{Size: 12}, nil) |
| 239 | return mockStore |
| 240 | }, |
| 241 | expStatusCode: http.StatusBadRequest, |
| 242 | expBody: `{"message":"Object size mismatch"}` + "\n", |
| 243 | }, |
| 244 | |
| 245 | { |
| 246 | name: "object exists", |
| 247 | body: `{"oid":"ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f", "size":12}`, |
| 248 | mockStore: func() *MockStore { |
| 249 | mockStore := NewMockStore() |
| 250 | mockStore.GetLFSObjectByOIDFunc.SetDefaultReturn(&database.LFSObject{Size: 12}, nil) |
| 251 | return mockStore |
| 252 | }, |
| 253 | expStatusCode: http.StatusOK, |
| 254 | }, |
| 255 | } |
| 256 | for _, test := range tests { |
nothing calls this directly
no test coverage detected