Skip to content

Commit 2f8495e

Browse files
Set up mocks properly
1 parent 5603d3a commit 2f8495e

2 files changed

Lines changed: 53 additions & 103 deletions

File tree

.cursor/rules/prd.mdc

Lines changed: 0 additions & 103 deletions
This file was deleted.

internal/client/client_test.go

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@ import (
88
"net/http/httptest"
99
"testing"
1010

11+
"github.com/spf13/viper"
1112
"github.com/stretchr/testify/assert"
1213
"github.com/stretchr/testify/require"
1314

15+
"github.com/InitiatDev/initiat-cli/internal/config"
1416
"github.com/InitiatDev/initiat-cli/internal/routes"
17+
"github.com/InitiatDev/initiat-cli/internal/storage"
1518
"github.com/InitiatDev/initiat-cli/internal/types"
1619
)
1720

@@ -361,6 +364,7 @@ func TestGetProjectBySlug_NotFound(t *testing.T) {
361364
}))
362365
defer server.Close()
363366

367+
setupTestEnvironmentForSignedRequests(t, server.URL)
364368
client := NewWithBaseURL(server.URL)
365369

366370
project, err := client.GetProjectBySlug("test-org", "non-existent")
@@ -417,6 +421,7 @@ func TestCreateProject_Success(t *testing.T) {
417421
}))
418422
defer server.Close()
419423

424+
setupTestEnvironmentForSignedRequests(t, server.URL)
420425
client := NewWithBaseURL(server.URL)
421426

422427
project, err := client.CreateProject("test-org", "My Project", "my-project", "Test description")
@@ -459,6 +464,7 @@ func TestCreateProject_EmptyDescription(t *testing.T) {
459464
}))
460465
defer server.Close()
461466

467+
setupTestEnvironmentForSignedRequests(t, server.URL)
462468
client := NewWithBaseURL(server.URL)
463469

464470
project, err := client.CreateProject("test-org", "My Project", "my-project", "")
@@ -480,10 +486,57 @@ func TestCreateProject_ServerError(t *testing.T) {
480486
}))
481487
defer server.Close()
482488

489+
setupTestEnvironmentForSignedRequests(t, server.URL)
483490
client := NewWithBaseURL(server.URL)
484491

485492
project, err := client.CreateProject("test-org", "My Project", "my-project", "")
486493
assert.Error(t, err)
487494
assert.Nil(t, project)
488495
assert.Contains(t, err.Error(), "Project slug already exists")
489496
}
497+
498+
func setupTestEnvironmentForSignedRequests(t *testing.T, serverURL string) {
499+
viper.Reset()
500+
501+
if err := config.InitConfig(); err != nil {
502+
t.Fatalf("Failed to init config: %v", err)
503+
}
504+
505+
if err := config.Set("api.base_url", serverURL); err != nil {
506+
t.Fatalf("Failed to set API URL: %v", err)
507+
}
508+
509+
if err := config.Set("service_name", "initiat-cli-test-"+t.Name()); err != nil {
510+
t.Fatalf("Failed to set service name: %v", err)
511+
}
512+
513+
store := storage.New()
514+
515+
signingPublic, signingPrivate, err := ed25519.GenerateKey(rand.Reader)
516+
if err != nil {
517+
t.Fatalf("Failed to generate signing keypair: %v", err)
518+
}
519+
520+
if err := store.StoreSigningPrivateKey(signingPrivate); err != nil {
521+
t.Fatalf("Failed to store signing private key: %v", err)
522+
}
523+
524+
encryptionPrivate := make([]byte, 32)
525+
rand.Read(encryptionPrivate)
526+
if err := store.StoreEncryptionPrivateKey(encryptionPrivate); err != nil {
527+
t.Fatalf("Failed to store encryption private key: %v", err)
528+
}
529+
530+
if err := store.StoreDeviceID("test-device-123"); err != nil {
531+
t.Fatalf("Failed to store device ID: %v", err)
532+
}
533+
534+
t.Cleanup(func() {
535+
store.DeleteSigningPrivateKey()
536+
store.DeleteEncryptionPrivateKey()
537+
store.DeleteDeviceID()
538+
store.DeleteToken()
539+
})
540+
541+
_ = signingPublic
542+
}

0 commit comments

Comments
 (0)