diff --git a/src/myaktion/db/db.go b/src/myaktion/db/db.go index 33cada8c04cfb5da7706e1187e00cf7b57a9b598..023f739beab21f56c55304b0d9359bbf8a7c2902 100644 --- a/src/myaktion/db/db.go +++ b/src/myaktion/db/db.go @@ -12,7 +12,7 @@ import ( var DB *gorm.DB -func init() { +func Init() { // init database dsn := fmt.Sprintf("root:root@tcp(%s)/myaktion?charset=utf8&parseTime=True&loc=Local", os.Getenv("DB_CONNECT")) log.Info("Using DSN for DB:", dsn) diff --git a/src/myaktion/handler/campaign.go b/src/myaktion/handler/campaign.go index bc0ceeb3bd724d7437b5a5a593f8e4b45b01dbb5..82d4cc9cd726f21b177ae1b4b17861e360a4dee6 100644 --- a/src/myaktion/handler/campaign.go +++ b/src/myaktion/handler/campaign.go @@ -13,7 +13,7 @@ func getCampaign(r *http.Request) (*model.Campaign, error) { var campaign model.Campaign err := json.NewDecoder(r.Body).Decode(&campaign) if err != nil { - log.Errorf("Can't serialize request body to campaign struct: %v %v", err) + log.Errorf("Can't serialize request body to campaign struct: %v", err) return nil, err } return &campaign, nil @@ -72,7 +72,7 @@ func UpdateCampaign(w http.ResponseWriter, r *http.Request) { } campaign, err = service.UpdateCampaign(id, campaign) if err != nil { - log.Errorf("Error updating campaign with ID dd: %v", id, err) + log.Errorf("Error updating campaign with ID %d: %v", id, err) http.Error(w, err.Error(), http.StatusInternalServerError) return } diff --git a/src/myaktion/handler/campaign_test.go b/src/myaktion/handler/campaign_test.go new file mode 100644 index 0000000000000000000000000000000000000000..90068bb2481ff7db6baae6f270e586fc052990e0 --- /dev/null +++ b/src/myaktion/handler/campaign_test.go @@ -0,0 +1,17 @@ +package handler + +import ( + "net/http" + "net/http/httptest" + "testing" +) + +func TestCreateCampaign(t *testing.T) { + rr := httptest.NewRecorder() + req := httptest.NewRequest("POST", "/campaigns", nil) + handler := http.HandlerFunc(CreateCampaign) + handler.ServeHTTP(rr, req) + if status := rr.Code; status != http.StatusBadRequest { + t.Errorf("handler returned wrong status code: got %v expected %v", status, http.StatusBadRequest) + } +} diff --git a/src/myaktion/handler/health_test.go b/src/myaktion/handler/health_test.go new file mode 100644 index 0000000000000000000000000000000000000000..fc341c79fe90a40a0f6f5bd8e49eeafe69a87d4a --- /dev/null +++ b/src/myaktion/handler/health_test.go @@ -0,0 +1,21 @@ +package handler + +import ( + "net/http" + "net/http/httptest" + "testing" +) + +func TestHealth(t *testing.T) { + rr := httptest.NewRecorder() + req := httptest.NewRequest("GET", "/health", nil) + handler := http.HandlerFunc(Health) + handler.ServeHTTP(rr, req) + if status := rr.Code; status != http.StatusOK { + t.Errorf("handler returned wrong status code: got %v want %v", status, http.StatusOK) + } + expected := `{"alive": true}` + if rr.Body.String() != expected { + t.Errorf("handler returned unexpected body: got %v want %v", rr.Body.String(), expected) + } +} diff --git a/src/myaktion/main.go b/src/myaktion/main.go index da694a2fed41ed8f1799b3d423b2d6c043d36bf6..9c52df1f6dd5bb95752ce02034edab6e1be2b813 100644 --- a/src/myaktion/main.go +++ b/src/myaktion/main.go @@ -7,12 +7,16 @@ import ( "github.com/gorilla/mux" log "github.com/sirupsen/logrus" + "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/db" "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/handler" "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/model" "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/service" ) func init() { + // init database + defer db.Init() + // init logger log.SetFormatter(&log.TextFormatter{}) log.SetReportCaller(true) diff --git a/src/myaktion/service/campaign.go b/src/myaktion/service/campaign.go index 2bdef4ac16218fb6244f0e30223df0beb729da67..d41af7a8fe0aacca6aeff7a8f1777ccba3f15f17 100644 --- a/src/myaktion/service/campaign.go +++ b/src/myaktion/service/campaign.go @@ -36,7 +36,7 @@ func GetCampaign(id uint) (*model.Campaign, error) { return nil, result.Error } log.Infof("Successfully retrieved campaign with ID %v.", campaign.ID) - log.Tracef("Retrieved: ", campaign) + log.Tracef("Retrieved: %v", campaign) return &campaign, nil }