Ejemplo n.º 1
0
func TestServeTodoJson(t *testing.T) {
	params := url.Values{}
	params.Add("repo", mockRepo.GetRepoId())
	params.Add("revision", TestRevision)
	params.Add("fileName", TestFileName)
	params.Add("lineNumber", strconv.Itoa(TestLineNumber))
	request, err := http.NewRequest("GET", "/todo?"+params.Encode(), strings.NewReader(""))
	if err != nil {
		t.Error(err)
	}
	rw := httptest.NewRecorder()
	db := dashboard.Dashboard{mockRepos, "", ""}
	db.ServeTodoJson(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 returnedTodo repo.TodoDetails
	err = json.Unmarshal(rw.Body.Bytes(), &returnedTodo)
	if err != nil {
		t.Error(err)
	}
	if returnedTodo.Id.Revision != mockTodo.Revision ||
		returnedTodo.Id.FileName != mockTodo.FileName ||
		returnedTodo.Id.LineNumber != mockTodo.LineNumber {
		t.Errorf("Expected %s, but saw %s", mockTodo, returnedTodo)
	}
}
Ejemplo n.º 2
0
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)
	}
}
Ejemplo n.º 3
0
func TestServeTodoJsonNoRepo(t *testing.T) {
	request, err := http.NewRequest("GET", "/todo", strings.NewReader(""))
	if err != nil {
		t.Error(err)
	}
	rw := httptest.NewRecorder()
	db := dashboard.Dashboard{mockRepos, "", ""}
	db.ServeTodoJson(rw, request)
	if rw.Code != http.StatusBadRequest {
		t.Errorf("Expected a response code of %d, but saw %d", http.StatusBadRequest, rw.Code)
	}
}
Ejemplo n.º 4
0
func TestServeTodoJsonNoRevision(t *testing.T) {
	params := url.Values{}
	params.Add("repo", mockRepo.GetRepoId())
	request, err := http.NewRequest("GET", "/todo?"+params.Encode(), strings.NewReader(""))
	if err != nil {
		t.Error(err)
	}
	rw := httptest.NewRecorder()
	db := dashboard.Dashboard{mockRepos, "", ""}
	db.ServeTodoJson(rw, request)
	if rw.Code != http.StatusBadRequest {
		t.Errorf("Expected a response code of %d, but saw %d", http.StatusBadRequest, rw.Code)
	}
}
Ejemplo n.º 5
0
func TestServeAliasesJson(t *testing.T) {
	request, err := http.NewRequest("GET", "/?repo="+mockRepo.GetRepoId(), strings.NewReader(""))
	if err != nil {
		t.Error(err)
	}
	rw := httptest.NewRecorder()
	db := dashboard.Dashboard{mockRepos, "", ""}
	db.ServeAliasesJson(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 returnedAliases []repo.Alias
	err = json.Unmarshal(rw.Body.Bytes(), &returnedAliases)
	if err != nil {
		t.Error(err)
	}
	if len(returnedAliases) != 1 || returnedAliases[0] != mockAlias {
		t.Errorf("Expected a singleton slice of %s, but saw %s", mockAlias, returnedAliases)
	}
}