| package api |
| |
| import ( |
| "bytes" |
| "encoding/json" |
| "net/http" |
| "net/http/httptest" |
| "testing" |
| |
| "github.com/stretchr/testify/require" |
| ) |
| |
| func TestFrontendDetailsHandler_InvalidTraceID_ReturnsErrorMessage(t *testing.T) { |
| api := graphApi{} |
| w := httptest.NewRecorder() |
| |
| req := CommitDetailsRequest{ |
| CommitNumber: 0, |
| TraceID: `calc("this is not a trace id, but a calculation")`, |
| } |
| var b bytes.Buffer |
| err := json.NewEncoder(&b).Encode(req) |
| require.NoError(t, err) |
| |
| r := httptest.NewRequest("POST", "/_/details", &b) |
| api.detailsHandler(w, r) |
| require.Equal(t, http.StatusOK, w.Result().StatusCode) |
| require.Contains(t, w.Body.String(), "version\":0") |
| } |