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
 }