Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
grzr committed Apr 16, 2024
1 parent 44f193a commit 9300452
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 19 deletions.
2 changes: 1 addition & 1 deletion frontend/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" href="/favicon.png" />
<link rel="icon" href="/penelope_48.png" />
<title>Penelope</title>
</head>

Expand Down
3 changes: 2 additions & 1 deletion frontend/src/App.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script setup lang="ts">
import logo from "@/assets/penelope_32.png";
import logo from "@/assets/penelope_48.png";
import Sandbox from "@/views/Sandbox.vue";
import { ref } from "vue";
Expand All @@ -25,6 +25,7 @@ document.title = title.value;
<v-img :src="logo" />
</v-avatar>
</router-link>
&nbsp;
{{ title }}
</template>

Expand Down
27 changes: 23 additions & 4 deletions pkg/http/rest/api_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,30 @@ import (
"github.com/stretchr/testify/assert"
)

func createBuilder(backupProvider provider.SinkGCPProjectProvider, tokenSourceProvider impersonate.TargetPrincipalForProjectProvider, credentialProvider secret.SecretProvider) *builder.ProcessorBuilder {
type mockSourceGCPProjectProvider struct {
Error error
AvailabilityClass provider.AvailabilityClass
DataOwner string
}

var mockSourceTokenProvider = &mockSourceGCPProjectProvider{
Error: nil,
AvailabilityClass: provider.A2Aimed,
DataOwner: "john.doe",
}

func (m *mockSourceGCPProjectProvider) GetSourceGCPProject(ctxIn context.Context, gcpProjectID string) (provider.SourceGCPProject, error) {
return provider.SourceGCPProject{
AvailabilityClass: m.AvailabilityClass,
DataOwner: m.DataOwner,
}, m.Error
}

func createBuilder(backupProvider provider.SinkGCPProjectProvider, tokenSourceProvider impersonate.TargetPrincipalForProjectProvider, credentialProvider secret.SecretProvider, sourceGCPProjectProvider provider.SourceGCPProjectProvider) *builder.ProcessorBuilder {
return builder.NewProcessorBuilder(
processor.NewCreatingProcessorFactory(backupProvider, tokenSourceProvider, credentialProvider),
processor.NewGettingProcessorFactory(tokenSourceProvider, credentialProvider),
processor.NewListingProcessorFactory(tokenSourceProvider, credentialProvider),
processor.NewCreatingProcessorFactory(backupProvider, tokenSourceProvider, credentialProvider, sourceGCPProjectProvider),
processor.NewGettingProcessorFactory(tokenSourceProvider, credentialProvider, sourceGCPProjectProvider),
processor.NewListingProcessorFactory(tokenSourceProvider, credentialProvider, sourceGCPProjectProvider),
processor.NewUpdatingProcessorFactory(tokenSourceProvider, credentialProvider),
nil,
nil,
Expand Down
12 changes: 6 additions & 6 deletions pkg/http/rest/creating_roundtripped_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ import (
"testing"
)

func restAPIFactoryWithRealFactory(t *testing.T, principalRoleBindings []model.ProjectRoleBinding, backupProvider provider.SinkGCPProjectProvider, tokenSourceProvider impersonate.TargetPrincipalForProjectProvider) *httptest.Server {
func restAPIFactoryWithRealFactory(t *testing.T, principalRoleBindings []model.ProjectRoleBinding, backupProvider provider.SinkGCPProjectProvider, tokenSourceProvider impersonate.TargetPrincipalForProjectProvider, sourceGCPProjectProvider provider.SourceGCPProjectProvider) *httptest.Server {
emptyTokenValidator := auth.NewEmptyTokenValidator()
authenticationMiddleware, err := auth.NewAuthenticationMiddleware(emptyTokenValidator, givenDefaultPrincipalRetrieverWithRoles(principalRoleBindings))
if err != nil {
t.Error("expected", "instance of AuthenticationMiddleware can be created", "got", fmt.Sprintf("error: %s", err))
os.Exit(1)
}
app := NewRestAPI(createBuilder(backupProvider, tokenSourceProvider, secret.NewEnvSecretProvider()), authenticationMiddleware, nil, secret.NewEnvSecretProvider())
app := NewRestAPI(createBuilder(backupProvider, tokenSourceProvider, secret.NewEnvSecretProvider(), sourceGCPProjectProvider), authenticationMiddleware, nil, secret.NewEnvSecretProvider())
return httptest.NewServer(authenticationMiddleware.AddAuthentication(app.ServeHTTP))
}

Expand All @@ -46,7 +46,7 @@ func TestCreateSnapshotRequestOneShot(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Owner,
Project: defaultProjectID,
}}, mockBackupProvider, tokenConfigProvider)
}}, mockBackupProvider, tokenConfigProvider, mockSourceTokenProvider)
defer s.Close()
httpMockHandler.RegisterLocalServer(s.URL)

Expand Down Expand Up @@ -97,7 +97,7 @@ func TestCreateSnapshotRequest_WithTTL(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Owner,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()
httpMockHandler.RegisterLocalServer(s.URL)

Expand Down Expand Up @@ -156,7 +156,7 @@ func TestCreateSnapshotRequestOneShot_DatasetNotExisting(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Owner,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()
httpMockHandler.RegisterLocalServer(s.URL)

Expand Down Expand Up @@ -198,7 +198,7 @@ func TestCreateSnapshotRequestOneShot_InsufficientPermissions(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Viewer,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()
httpMockHandler.RegisterLocalServer(s.URL)

Expand Down
6 changes: 3 additions & 3 deletions pkg/http/rest/deleting_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func TestDeleting_WithNonExistingBackup(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Viewer,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()

httpMockHandler.RegisterLocalServer(s.URL)
Expand Down Expand Up @@ -75,7 +75,7 @@ func TestDeleting_WithScheduledBackup(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Owner,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()
httpMockHandler.RegisterLocalServer(s.URL)

Expand Down Expand Up @@ -109,7 +109,7 @@ func TestDeleting_WithNotScheduledBackup(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Owner,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()
httpMockHandler.RegisterLocalServer(s.URL)

Expand Down
4 changes: 2 additions & 2 deletions pkg/http/rest/getting_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func TestGetting_WithUnknownResponse(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Viewer,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()

httpMockHandler.RegisterLocalServer(s.URL)
Expand All @@ -57,7 +57,7 @@ func TestGetting_WithKnownResponse(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Viewer,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()

httpMockHandler.RegisterLocalServer(s.URL)
Expand Down
4 changes: 2 additions & 2 deletions pkg/http/rest/listing_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func TestListing_WithEmptyResponse(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Viewer,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()

httpMockHandler.RegisterLocalServer(s.URL)
Expand Down Expand Up @@ -85,7 +85,7 @@ func TestListing_WithSingleResponse(t *testing.T) {
s := restAPIFactoryWithRealFactory(t, []model.ProjectRoleBinding{{
Role: model.Viewer,
Project: defaultProjectID,
}}, mockBackupProvider, mockTokenConfigProvider)
}}, mockBackupProvider, mockTokenConfigProvider, mockSourceTokenProvider)
defer s.Close()
httpMockHandler.RegisterLocalServer(s.URL)

Expand Down

0 comments on commit 9300452

Please sign in to comment.