Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 15 additions & 44 deletions config/settings_test.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package config

import (
"github.com/stretchr/testify/require"
"os"
"path/filepath"
"testing"
"time"

"github.com/spf13/cobra"
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
)

func TestArgumentPrecedence(t *testing.T) {
Expand Down Expand Up @@ -71,13 +72,7 @@ func TestArgumentPrecedence(t *testing.T) {
viper.Reset()

// Create temporary config file
configFile, err := createTempConfigFile(t, tt.configContent)
if err != nil {
t.Fatalf("Failed to create temp config file: %v", err)
}
defer func() {
require.NoError(t, os.Remove(configFile))
}()
configFile := createTempConfigFile(t, tt.configContent)

// Create test command with flags
cmd := &cobra.Command{
Expand All @@ -99,34 +94,22 @@ func TestArgumentPrecedence(t *testing.T) {
// Parse CLI args
if len(tt.cliArgs) > 0 {
cmd.SetArgs(tt.cliArgs)
if err := cmd.Execute(); err != nil {
t.Fatalf("Failed to parse CLI args: %v", err)
}
require.NoError(t, cmd.Execute(), "Failed to parse CLI args")
}

// Initialize Viper
if err := InitializeViper(cmd); err != nil {
t.Fatalf("Failed to initialize Viper: %v", err)
}
require.NoError(t, InitializeViper(cmd), "Failed to initialize Viper")

// Load config file
if err := LoadConfigFile(configFile); err != nil {
t.Fatalf("Failed to load config file: %v", err)
}
require.NoError(t, LoadConfigFile(configFile), "Failed to load config file")

// Resolve settings
settings := ResolveSettings()

// Verify expectations
if settings.StatsInterval != tt.expectedStats {
t.Errorf("StatsInterval: expected %v, got %v", tt.expectedStats, settings.StatsInterval)
}
if settings.Workers != tt.expectedWorkers {
t.Errorf("Workers: expected %d, got %d", tt.expectedWorkers, settings.Workers)
}
if settings.TPS != tt.expectedTPS {
t.Errorf("TPS: expected %f, got %f", tt.expectedTPS, settings.TPS)
}
require.Equal(t, tt.expectedStats, settings.StatsInterval, "StatsInterval: expected %v, got %v", tt.expectedStats, settings.StatsInterval)
require.Equal(t, tt.expectedWorkers, settings.Workers, "Workers: expected %d, got %d", tt.expectedWorkers, settings.Workers)
require.Equal(t, tt.expectedTPS, settings.TPS, "TPS: expected %f, got %f", tt.expectedTPS, settings.TPS)
})
}
}
Expand All @@ -153,22 +136,10 @@ func TestDefaultSettings(t *testing.T) {
}

// Helper function to create temporary config files for testing
func createTempConfigFile(t *testing.T, content string) (string, error) {
tmpFile, err := os.CreateTemp("", "test-config-*.json")
if err != nil {
return "", err
}

if _, err := tmpFile.WriteString(content); err != nil {
require.NoError(t, tmpFile.Close())
require.NoError(t, os.Remove(tmpFile.Name()))
return "", err
}

if err := tmpFile.Close(); err != nil {
require.NoError(t, os.Remove(tmpFile.Name()))
return "", err
}

return tmpFile.Name(), nil
func createTempConfigFile(t *testing.T, content string) string {
t.Helper()
destination := filepath.Join(t.TempDir(), "test-config.json")
err := os.WriteFile(destination, []byte(content), 0644)
require.NoError(t, err, "Failed to create temp config file: %v", err)
return destination
}
21 changes: 8 additions & 13 deletions utils/service/parallel_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,24 @@ package service
import (
"errors"
"testing"

"github.com/stretchr/testify/require"
)

func TestParallelOk(t *testing.T) {
x := [10]int{}
if err := Parallel(func(s ParallelScope) error {
err := Parallel(func(s ParallelScope) error {
for i := range x {
s.Spawn(func() error {
x[i] = i
return nil
})
}
return nil
}); err != nil {
t.Fatal(err)
}
})
require.NoError(t, err)
for want, got := range x {
if want != got {
t.Fatalf("x[%d] = %d, want %d", want, got, want)
}
require.Equal(t, want, got, "x[%d] = %d, want %d", want, got, want)
}
}

Expand All @@ -40,15 +39,11 @@ func TestParallelFail(t *testing.T) {
}
return nil
})
if !errors.Is(err, wantErr) {
t.Fatalf("err = %v, want %v", err, wantErr)
}
require.ErrorIs(t, wantErr, err, "err = %v, want %v", err, wantErr)
for want, got := range x {
if want%2 == 0 {
want = 0
}
if want != got {
t.Fatalf("x[%d] = %d, want %d", want, got, want)
}
require.Equal(t, want, got, "x[%d] = %d, want %d", want, got, want)
}
}
14 changes: 5 additions & 9 deletions utils/wait_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,16 @@ import (
"encoding/json"
"testing"
"time"

"github.com/stretchr/testify/require"
)

func TestJSON(t *testing.T) {
var got, want struct{ X Duration }
want.X = Duration(100 * time.Millisecond)
j, err := json.Marshal(want)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
t.Logf("%s", j)
if err := json.Unmarshal(j, &got); err != nil {
t.Fatal(err)
}
if err := TestDiff(want, got); err != nil {
t.Fatal(err)
}
require.NoError(t, json.Unmarshal(j, &got))
require.NoError(t, TestDiff(want, got))
}
Loading