// This test ensures that List does not return NIL items. func TestTrackerQueryListItemsNotNil(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://api.github.com", Type: "github", } _, result := test.CreateTrackerCreated(t, nil, nil, &controller, &payload) t.Log(result.ID) tqController := TrackerqueryController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} tqpayload := app.CreateTrackerQueryAlternatePayload{ Query: "is:open is:issue user:arquillian author:aslakknutsen", Schedule: "15 * * * * *", TrackerID: result.ID, } test.CreateTrackerqueryCreated(t, nil, nil, &tqController, &tqpayload) test.CreateTrackerqueryCreated(t, nil, nil, &tqController, &tqpayload) _, list := test.ListTrackerqueryOK(t, nil, nil, &tqController) for _, tq := range list { if tq == nil { t.Error("Returned Tracker Query found nil") } } }
func TestGetTrackerQuery(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://api.github.com", Type: "github", } _, result := test.CreateTrackerCreated(t, nil, nil, &controller, &payload) tqController := TrackerqueryController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} tqpayload := app.CreateTrackerQueryAlternatePayload{ Query: "is:open is:issue user:arquillian author:aslakknutsen", Schedule: "15 * * * * *", TrackerID: result.ID, } fmt.Printf("tq payload %#v", tqpayload) _, tqresult := test.CreateTrackerqueryCreated(t, nil, nil, &tqController, &tqpayload) test.ShowTrackerqueryOK(t, nil, nil, &tqController, tqresult.ID) _, tqr := test.ShowTrackerqueryOK(t, nil, nil, &tqController, tqresult.ID) if tqr == nil { t.Fatalf("Tracker Query '%s' not present", tqresult.ID) } if tqr.ID != tqresult.ID { t.Errorf("Id should be %s, but is %s", tqresult.ID, tqr.ID) } }
func TestGetTracker(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://issues.jboss.com", Type: "jira", } _, result := test.CreateTrackerCreated(t, nil, nil, &controller, &payload) test.ShowTrackerOK(t, nil, nil, &controller, result.ID) _, tr := test.ShowTrackerOK(t, nil, nil, &controller, result.ID) if tr == nil { t.Fatalf("Tracker '%s' not present", result.ID) } if tr.ID != result.ID { t.Errorf("Id should be %s, but is %s", result.ID, tr.ID) } payload2 := app.UpdateTrackerAlternatePayload{ URL: tr.URL, Type: tr.Type, } _, updated := test.UpdateTrackerOK(t, nil, nil, &controller, tr.ID, &payload2) if updated.ID != result.ID { t.Errorf("Id has changed from %s to %s", result.ID, updated.ID) } if updated.URL != result.URL { t.Errorf("URL has changed from %s to %s", result.URL, updated.URL) } if updated.Type != result.Type { t.Errorf("Type has changed has from %s to %s", result.Type, updated.Type) } }
// This test ensures that List does not return NIL items. // refer : https://github.com/almighty/almighty-core/issues/191 func TestTrackerListItemsNotNil(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://issues.jboss.com", Type: "jira", } test.CreateTrackerCreated(t, nil, nil, &controller, &payload) test.CreateTrackerCreated(t, nil, nil, &controller, &payload) _, list := test.ListTrackerOK(t, nil, nil, &controller, nil, nil) for _, tracker := range list { if tracker == nil { t.Error("Returned Tracker found nil") } } }
func TestCreateTracker(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://issues.jboss.com", Type: "jira", } _, created := test.CreateTrackerCreated(t, nil, nil, &controller, &payload) if created.ID == "" { t.Error("no id") } }
// This test ensures that ID returned by Show is valid. // refer : https://github.com/almighty/almighty-core/issues/189 func TestCreateTrackerValidId(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://issues.jboss.com", Type: "jira", } _, tracker := test.CreateTrackerCreated(t, nil, nil, &controller, &payload) _, created := test.ShowTrackerOK(t, nil, nil, &controller, tracker.ID) if created != nil && created.ID != tracker.ID { t.Error("Failed because fetched Tracker not same as requested. Found: ", tracker.ID, " Expected, ", created.ID) } }
func TestCreateTrackerQueryREST(t *testing.T) { resource.Require(t, resource.Database) privatekey, err := jwt.ParseRSAPrivateKeyFromPEM([]byte(almtoken.RSAPrivateKey)) if err != nil { t.Fatal("Could not parse Key ", err) } service := goa.New("API") controller := NewTrackerController(service, gormapplication.NewGormDB(DB), RwiScheduler) payload := app.CreateTrackerAlternatePayload{ URL: "http://api.github.com", Type: "github", } _, tracker := test.CreateTrackerCreated(t, nil, nil, controller, &payload) jwtMiddleware := goajwt.New(&privatekey.PublicKey, nil, app.NewJWTSecurity()) app.UseJWTMiddleware(service, jwtMiddleware) controller2 := NewTrackerqueryController(service, gormapplication.NewGormDB(DB), RwiScheduler) app.MountTrackerqueryController(service, controller2) server := httptest.NewServer(service.Mux) tqPayload := fmt.Sprintf(`{"query": "abcdefgh", "schedule": "1 1 * * * *", "trackerID": "%s"}`, tracker.ID) trackerQueryCreateURL := "/api/trackerqueries" req, _ := http.NewRequest("POST", server.URL+trackerQueryCreateURL, strings.NewReader(tqPayload)) jwtToken := getValidAuthHeader(t, privatekey) req.Header.Set("Authorization", jwtToken) client := http.Client{} res, err := client.Do(req) if err != nil { t.Fatalf("Server error %s", err) } if res.StatusCode != http.StatusCreated { t.Fatalf("Expected a 201 Created response, got %d", res.StatusCode) } server.Close() }
// This test ensures that ID returned by Show is valid. // refer : https://github.com/almighty/almighty-core/issues/189 func TestCreateTrackerQueryValidId(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://api.github.com", Type: "github", } _, result := test.CreateTrackerCreated(t, nil, nil, &controller, &payload) t.Log(result.ID) tqController := TrackerqueryController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} tqpayload := app.CreateTrackerQueryAlternatePayload{ Query: "is:open is:issue user:arquillian author:aslakknutsen", Schedule: "15 * * * * *", TrackerID: result.ID, } _, trackerquery := test.CreateTrackerqueryCreated(t, nil, nil, &tqController, &tqpayload) _, created := test.ShowTrackerqueryOK(t, nil, nil, &tqController, trackerquery.ID) if created != nil && created.ID != trackerquery.ID { t.Error("Failed because fetched Tracker query not same as requested. Found: ", trackerquery.ID, " Expected, ", created.ID) } }
func TestCreateTrackerQuery(t *testing.T) { resource.Require(t, resource.Database) defer cleaner.DeleteCreatedEntities(DB)() controller := TrackerController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} payload := app.CreateTrackerAlternatePayload{ URL: "http://api.github.com", Type: "github", } _, result := test.CreateTrackerCreated(t, nil, nil, &controller, &payload) t.Log(result.ID) tqController := TrackerqueryController{Controller: nil, db: gormapplication.NewGormDB(DB), scheduler: RwiScheduler} tqpayload := app.CreateTrackerQueryAlternatePayload{ Query: "is:open is:issue user:arquillian author:aslakknutsen", Schedule: "15 * * * * *", TrackerID: result.ID, } _, tqresult := test.CreateTrackerqueryCreated(t, nil, nil, &tqController, &tqpayload) t.Log(tqresult) if tqresult.ID == "" { t.Error("no id") } }