func TestServeRevisionJson(t *testing.T) { params := url.Values{} params.Add("repo", mockRepo.GetRepoId()) params.Add("revision", TestRevision) request, err := http.NewRequest("GET", "/revision?"+params.Encode(), strings.NewReader("")) if err != nil { t.Error(err) } rw := httptest.NewRecorder() db := dashboard.Dashboard{mockRepos, "", ""} db.ServeRevisionJson(rw, request) if rw.Code != http.StatusOK { t.Errorf("Expected a response code of %d, but saw %d, with a body of '%s'", http.StatusOK, rw.Code, rw.Body.String()) return } var returnedTodos []repo.Line err = json.Unmarshal(rw.Body.Bytes(), &returnedTodos) if err != nil { t.Error(err) } if len(returnedTodos) != 1 || returnedTodos[0] != mockTodo { t.Errorf("Expected a singleton slice of %s, but saw %s", mockTodo, returnedTodos) } }
func TestServeRevisionJsonNoRepo(t *testing.T) { request, err := http.NewRequest("GET", "/revision", strings.NewReader("")) if err != nil { t.Error(err) } rw := httptest.NewRecorder() db := dashboard.Dashboard{mockRepos, "", ""} db.ServeRevisionJson(rw, request) if rw.Code != http.StatusBadRequest { t.Errorf("Expected a response code of %d, but saw %d", http.StatusBadRequest, rw.Code) } }
func TestServeRevisionJsonNoId(t *testing.T) { params := url.Values{} params.Add("repo", mockRepo.GetRepoId()) request, err := http.NewRequest("GET", "/revision?"+params.Encode(), strings.NewReader("")) if err != nil { t.Error(err) } rw := httptest.NewRecorder() db := dashboard.Dashboard{mockRepos, "", ""} db.ServeRevisionJson(rw, request) if rw.Code != http.StatusBadRequest { t.Errorf("Expected a response code of %d, but saw %d", http.StatusBadRequest, rw.Code) } }