diff --git a/coverage.out b/coverage.out
deleted file mode 100644
index 311edd202aa5e46e3a6ae67eb7dfb35cd624d38f..0000000000000000000000000000000000000000
--- a/coverage.out
+++ /dev/null
@@ -1,105 +0,0 @@
-mode: set
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:41.106,43.2 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:45.89,47.2 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:49.93,51.2 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:53.89,55.2 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:57.49,58.36 1 1
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:62.2,62.12 1 1
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:58.36,61.3 1 1
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:66.76,72.2 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:75.111,78.36 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:85.2,86.35 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:92.2,92.29 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:98.2,98.91 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:78.36,82.3 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:86.35,89.3 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:92.29,93.23 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:93.23,95.4 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:102.109,105.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:110.2,120.28 7 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:139.2,141.25 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:105.16,108.3 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:120.28,121.26 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:124.3,126.17 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:131.3,135.22 4 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:121.26,122.12 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:126.17,129.4 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:135.22,137.4 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:145.119,151.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:161.2,161.28 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:177.2,177.25 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:151.16,154.3 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:161.28,162.26 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:166.3,168.17 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:174.3,174.32 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:162.26,163.12 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:168.17,171.4 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:181.122,183.54 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:187.2,190.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:195.2,196.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:201.2,202.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:183.54,185.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:190.16,192.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:196.16,198.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:202.16,207.17 5 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:210.3,211.17 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:215.3,215.78 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:207.17,209.4 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:211.17,213.4 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:216.8,218.17 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:223.3,224.17 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:228.3,228.78 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:218.17,220.4 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:224.17,226.4 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:233.121,235.54 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:239.2,243.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:248.2,249.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:254.2,255.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:259.2,259.77 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:235.54,237.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:243.16,245.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:249.16,251.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:255.16,257.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:262.123,266.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:270.2,273.23 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:266.16,268.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:276.112,280.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:284.2,288.20 4 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:280.16,282.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:291.43,293.2 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:295.136,297.54 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:301.2,305.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:310.2,314.16 5 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:319.2,320.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:324.2,324.74 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:297.54,299.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:305.16,307.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:314.16,316.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:320.16,322.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:327.124,329.54 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:333.2,337.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:341.2,345.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:350.2,351.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:355.2,355.74 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:329.54,331.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:337.16,339.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:345.16,347.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:351.16,353.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:358.126,360.54 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:364.2,368.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:372.2,376.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:381.2,382.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:386.2,386.74 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:360.54,362.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:368.16,370.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:376.16,378.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:382.16,384.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:389.122,391.54 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:395.2,399.16 3 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:403.2,404.16 2 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:408.2,408.52 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:412.2,412.74 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:391.54,393.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:399.16,401.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:404.16,406.3 1 0
-code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/service/v1/config-service.go:408.52,410.3 1 0
diff --git a/go.mod b/go.mod
index 3efb71aa69237e28c8b2051ab120f6b78be04038..98cb3630c03db4405de4fb79ce4acd0cf0fd3323 100644
--- a/go.mod
+++ b/go.mod
@@ -2,6 +2,7 @@ module code.geant.net/stash/scm/nmaas/nmaas-janitor
 
 require (
 	github.com/gogo/protobuf v1.2.0 // indirect
+	github.com/golang/mock v1.2.0 // indirect
 	github.com/golang/protobuf v1.2.0
 	github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c // indirect
 	github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf // indirect
diff --git a/pkg/api/cmd/server.go b/pkg/api/cmd/server.go
index 45e511f90c6039e2e5ca86910f69b12ce282a496..d98b01729b9189902104e7d2c9d12e872998a273 100644
--- a/pkg/api/cmd/server.go
+++ b/pkg/api/cmd/server.go
@@ -59,4 +59,5 @@ func RunServer() error {
 	readyAPI := v1.NewReadinessServiceServer(kubeAPI)
 
 	return grpc.RunServer(ctx, confAPI, authAPI, certAPI, readyAPI, cfg.GRPCPort)
-}
\ No newline at end of file
+}
+
diff --git a/pkg/service/v1/config-service.go b/pkg/service/v1/config-service.go
index e0a8d256e9f4d7ff9c038a9a16d9258792663fe0..99441aaea15a0934843552caca4a4f4cdc9a30d9 100644
--- a/pkg/service/v1/config-service.go
+++ b/pkg/service/v1/config-service.go
@@ -74,7 +74,7 @@ func prepareResponse(status v1.Status, message string) *v1.ServiceResponse {
 //Find proper project, given user namespace and instance uid
 func (s *configServiceServer) FindGitlabProjectId(api *gitlab.Client, uid string, domain string) (int, error) {
 	//Find exact group
-	groups, _, err := s.gitAPI.Groups.SearchGroup(domain)
+	groups, _, err := api.Groups.SearchGroup(domain)
 	if len(groups) != 1 || err != nil {
 		log.Printf("Found %d groups in domain %s", len(groups), domain)
 		log.Print(err)
@@ -82,7 +82,7 @@ func (s *configServiceServer) FindGitlabProjectId(api *gitlab.Client, uid string
 	}
 
 	//List group projects
-	projs, _, err := s.gitAPI.Groups.ListGroupProjects(groups[0].ID, nil)
+	projs, _, err := api.Groups.ListGroupProjects(groups[0].ID, nil)
 	if err != nil || len(projs) == 0 {
 		log.Printf("Group %s is empty or unaccessible", groups[0].Name)
 		return -1, status.Errorf(codes.NotFound, "Project containing config not found on Gitlab")
@@ -101,7 +101,7 @@ func (s *configServiceServer) FindGitlabProjectId(api *gitlab.Client, uid string
 //Parse repository files into kubernetes json data part for patching
 func (s *configServiceServer) PrepareDataJsonFromRepository(api *gitlab.Client, repoId int) ([]byte, error) {
 	//List files
-	tree, _, err := s.gitAPI.Repositories.ListTree(repoId, nil)
+	tree, _, err := api.Repositories.ListTree(repoId, nil)
 	if err != nil {
 		log.Print(err)
 		return nil, status.Errorf(codes.NotFound, "Cannot find any config files")
@@ -122,7 +122,7 @@ func (s *configServiceServer) PrepareDataJsonFromRepository(api *gitlab.Client,
 			continue
 		}
 		opt := &gitlab.GetRawFileOptions{Ref: gitlab.String("master")}
-		data, _, err := s.gitAPI.RepositoryFiles.GetRawFile(repoId, file.Name, opt)
+		data, _, err := api.RepositoryFiles.GetRawFile(repoId, file.Name, opt)
 		if err != nil {
 			log.Print(err)
 			return nil, status.Errorf(codes.Internal, "Error while reading file from Gitlab!")
@@ -147,7 +147,7 @@ func (s *configServiceServer) PrepareDataMapFromRepository(api *gitlab.Client, r
 	compiledMap := make(map[string][]byte)
 
 	//List files
-	tree, _, err := s.gitAPI.Repositories.ListTree(repoId, nil)
+	tree, _, err := api.Repositories.ListTree(repoId, nil)
 	if err != nil {
 		log.Print(err)
 		return nil, status.Errorf(codes.NotFound, "Cannot find any config files")
@@ -164,7 +164,7 @@ func (s *configServiceServer) PrepareDataMapFromRepository(api *gitlab.Client, r
 		}
 
 		opt := &gitlab.GetRawFileOptions{Ref: gitlab.String("master")}
-		data, _, err := s.gitAPI.RepositoryFiles.GetRawFile(repoId, file.Name, opt)
+		data, _, err := api.RepositoryFiles.GetRawFile(repoId, file.Name, opt)
 		if err != nil {
 			log.Print(err)
 			return nil, status.Errorf(codes.Internal, "Error while reading file from Gitlab!")
diff --git a/pkg/service/v1/config-service_test.go b/pkg/service/v1/config-service_test.go
index 657e50e4038b02a1640279ec75a20f98f7c21dcc..a6a3d56dabd447fe67df3ff86e30f556f6c24a88 100644
--- a/pkg/service/v1/config-service_test.go
+++ b/pkg/service/v1/config-service_test.go
@@ -15,4 +15,12 @@ func TestCheckAPI(t *testing.T) {
 	if err != nil {
 		t.Fail()
 	}
+}
+
+func TestBasicAuthServiceServer_PrepareSecretDataFromCredentials(t *testing.T) {
+
+}
+
+func TestBasicAuthServiceServer_PrepareSecretJsonFromCredentials(t *testing.T) {
+
 }
\ No newline at end of file