E2E tests use repeated strings for test data where constants add no value (#97)

---------

Co-authored-by: Pasha Sviderski <me@psviderski.name>
Co-authored-by: Anton Ovchinnikov <anton@tonyo.info>
This commit is contained in:
Evgenii Orlov
2025-07-21 19:30:02 +02:00
committed by GitHub
co-authored by Pasha Sviderski Anton Ovchinnikov
parent 6fb07db4b2
commit da3634b690
56 changed files with 170 additions and 116 deletions
+1
View File
@@ -2,6 +2,7 @@ package proxy
import (
"fmt"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/encoding/protowire"
+2 -1
View File
@@ -2,11 +2,12 @@ package proxy
import (
"context"
"sync"
"github.com/siderolabs/grpc-proxy/proxy"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"sync"
)
// Director manages routing of gRPC requests between local and remote backends.
+2 -1
View File
@@ -2,11 +2,12 @@ package proxy
import (
"context"
"sync"
"github.com/siderolabs/grpc-proxy/proxy"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/metadata"
"sync"
)
// LocalBackend is a proxy.One2ManyResponder implementation that proxies to a local gRPC server listening on a Unix socket.
+4 -3
View File
@@ -3,14 +3,15 @@ package proxy
import (
"context"
"fmt"
"net/netip"
"sync"
"time"
"github.com/siderolabs/grpc-proxy/proxy"
"google.golang.org/grpc"
"google.golang.org/grpc/backoff"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/metadata"
"net/netip"
"sync"
"time"
)
// RemoteBackend is a proxy.One2ManyResponder implementation that proxies to a remote gRPC server, injecting machine metadata
+2 -2
View File
@@ -29,7 +29,7 @@ type Controller struct {
func NewController(store *store.Store, path string, verifyResponse string) (*Controller, error) {
dir := filepath.Dir(path)
if err := os.MkdirAll(dir, 0750); err != nil {
if err := os.MkdirAll(dir, 0o750); err != nil {
return nil, fmt.Errorf("create parent directory for Caddy configuration '%s': %w", dir, err)
}
if err := fs.Chown(dir, "", CaddyGroup); err != nil {
@@ -114,7 +114,7 @@ func (c *Controller) generateConfig(containers []api.ServiceContainer) error {
return fmt.Errorf("marshal Caddy configuration: %w", err)
}
if err = os.WriteFile(c.path, configBytes, 0640); err != nil {
if err = os.WriteFile(c.path, configBytes, 0o640); err != nil {
return fmt.Errorf("write Caddy configuration to file '%s': %w", c.path, err)
}
if err = fs.Chown(c.path, "", CaddyGroup); err != nil {
+4 -3
View File
@@ -5,6 +5,10 @@ import (
"context"
"errors"
"fmt"
"log/slog"
"net/netip"
"time"
"github.com/psviderski/uncloud/internal/corrosion"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/machine/network"
@@ -13,9 +17,6 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb"
"log/slog"
"net/netip"
"time"
)
type Cluster struct {
+1
View File
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"errors"
"github.com/psviderski/uncloud/internal/dns"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/machine/store"
+2 -1
View File
@@ -3,8 +3,9 @@ package cluster
import (
"errors"
"fmt"
"go4.org/netipx"
"net/netip"
"go4.org/netipx"
)
const DefaultSubnetBits = 24
+1
View File
@@ -2,6 +2,7 @@ package cluster
import (
"fmt"
"github.com/psviderski/uncloud/internal/secret"
)
+6 -5
View File
@@ -3,11 +3,12 @@ package corroservice
import (
"bytes"
"fmt"
"github.com/BurntSushi/toml"
"github.com/psviderski/uncloud/internal/fs"
"net/netip"
"os"
"path/filepath"
"github.com/BurntSushi/toml"
"github.com/psviderski/uncloud/internal/fs"
)
const (
@@ -50,7 +51,7 @@ func (c *Config) Write(path, owner string) error {
if err := encoder.Encode(c); err != nil {
return fmt.Errorf("encode config: %w", err)
}
if err := os.WriteFile(path, data.Bytes(), 0600); err != nil {
if err := os.WriteFile(path, data.Bytes(), 0o600); err != nil {
return err
}
if err := fs.Chown(path, owner, owner); err != nil {
@@ -62,10 +63,10 @@ func (c *Config) Write(path, owner string) error {
func MkDataDir(dir, owner string) error {
parent, _ := filepath.Split(dir)
// Use 0711 for parent directories to allow `owner` to access its nested data directory.
if err := os.MkdirAll(parent, 0711); err != nil {
if err := os.MkdirAll(parent, 0o711); err != nil {
return fmt.Errorf("create directory %q: %w", parent, err)
}
if err := os.Mkdir(dir, 0700); err != nil {
if err := os.Mkdir(dir, 0o700); err != nil {
if !os.IsExist(err) {
return fmt.Errorf("create directory %q: %w", dir, err)
}
+5 -4
View File
@@ -3,15 +3,16 @@ package corroservice
import (
"context"
"fmt"
"io"
"log/slog"
"path/filepath"
"time"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/image"
"github.com/docker/docker/api/types/mount"
"github.com/docker/docker/api/types/network"
"github.com/docker/docker/client"
"io"
"log/slog"
"path/filepath"
"time"
)
const (
+2 -2
View File
@@ -111,8 +111,8 @@ func (s *SubprocessService) startProcess(ctx context.Context) error {
// TODO: figure out the waiting process
// Wait for initialization
//timer := time.NewTimer(2 * time.Second)
//defer timer.Stop()
// timer := time.NewTimer(2 * time.Second)
// defer timer.Stop()
//select {
////case <-timer.C:
+2 -2
View File
@@ -14,13 +14,13 @@ const DBFileName = "machine.db"
func NewDB(path string) (*sqlx.DB, error) {
// Create the database file with 0600 permissions if it doesn't exist, or update permissions if exists.
if _, err := os.Stat(path); os.IsNotExist(err) {
file, err := os.OpenFile(path, os.O_CREATE|os.O_RDWR, 0600)
file, err := os.OpenFile(path, os.O_CREATE|os.O_RDWR, 0o600)
if err != nil {
return nil, fmt.Errorf("create SQLite database '%s': %w", path, err)
}
file.Close()
} else {
if err = os.Chmod(path, 0600); err != nil {
if err = os.Chmod(path, 0o600); err != nil {
return nil, fmt.Errorf("update SQLite database permissions '%s': %w", path, err)
}
}
+2 -2
View File
@@ -501,7 +501,7 @@ func listenUnixSocket(path string) (net.Listener, error) {
// Ensure the parent directory exists and has the correct group permissions.
parent, _ := filepath.Split(path)
if err = os.MkdirAll(parent, 0750); err != nil {
if err = os.MkdirAll(parent, 0o750); err != nil {
return nil, fmt.Errorf("create directory %q: %w", parent, err)
}
if err = os.Chown(parent, -1, gid); err != nil {
@@ -555,7 +555,7 @@ func (m *Machine) configureCorrosion() error {
return fmt.Errorf("write corrosion config: %w", err)
}
if err := os.WriteFile(schemaPath, []byte(store.Schema), 0644); err != nil {
if err := os.WriteFile(schemaPath, []byte(store.Schema), 0o644); err != nil {
return fmt.Errorf("write corrosion schema: %w", err)
}
+2 -1
View File
@@ -1,11 +1,12 @@
package network
import (
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"log/slog"
"net/netip"
"slices"
"time"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
)
const (
+4 -3
View File
@@ -3,13 +3,14 @@ package tunnel
import (
"context"
"fmt"
"net"
"net/netip"
"time"
"github.com/psviderski/uncloud/internal/secret"
"golang.zx2c4.com/wireguard/conn"
"golang.zx2c4.com/wireguard/device"
"golang.zx2c4.com/wireguard/tun/netstack"
"net"
"net/netip"
"time"
)
const (
+3 -2
View File
@@ -2,10 +2,11 @@ package network
import (
"fmt"
"github.com/psviderski/uncloud/internal/secret"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"net/netip"
"time"
"github.com/psviderski/uncloud/internal/secret"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
)
const (
+7 -6
View File
@@ -6,18 +6,19 @@ import (
"context"
"errors"
"fmt"
"github.com/psviderski/uncloud/internal/secret"
"github.com/vishvananda/netlink"
"go4.org/netipx"
"golang.org/x/sys/unix"
"golang.zx2c4.com/wireguard/wgctrl"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"log/slog"
"net"
"net/netip"
"slices"
"sync"
"time"
"github.com/psviderski/uncloud/internal/secret"
"github.com/vishvananda/netlink"
"go4.org/netipx"
"golang.org/x/sys/unix"
"golang.zx2c4.com/wireguard/wgctrl"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
)
type WireGuardNetwork struct {
+4 -3
View File
@@ -3,10 +3,11 @@ package machine
import (
"encoding/json"
"fmt"
"github.com/psviderski/uncloud/internal/machine/network"
"os"
"path/filepath"
"sync"
"github.com/psviderski/uncloud/internal/machine/network"
)
const (
@@ -71,7 +72,7 @@ func (c *State) Save() error {
return fmt.Errorf("state path not set")
}
dir, _ := filepath.Split(c.path)
if err := os.MkdirAll(dir, 0711); err != nil {
if err := os.MkdirAll(dir, 0o711); err != nil {
return fmt.Errorf("create state directory %q: %w", dir, err)
}
@@ -79,5 +80,5 @@ func (c *State) Save() error {
if err != nil {
return err
}
return os.WriteFile(c.path, data, 0600)
return os.WriteFile(c.path, data, 0o600)
}
+3 -2
View File
@@ -4,11 +4,12 @@ import (
"context"
"encoding/json"
"fmt"
sq "github.com/Masterminds/squirrel"
"github.com/psviderski/uncloud/pkg/api"
"log/slog"
"strings"
"time"
sq "github.com/Masterminds/squirrel"
"github.com/psviderski/uncloud/pkg/api"
)
const (
+2 -1
View File
@@ -5,10 +5,11 @@ import (
_ "embed"
"errors"
"fmt"
"log/slog"
"github.com/psviderski/uncloud/internal/corrosion"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"google.golang.org/protobuf/encoding/protojson"
"log/slog"
)
var (
+2 -1
View File
@@ -4,9 +4,10 @@ import (
"encoding/base64"
"encoding/json"
"fmt"
"github.com/psviderski/uncloud/internal/secret"
"net/netip"
"strings"
"github.com/psviderski/uncloud/internal/secret"
)
const (