From fbc42aca3176dbd5db5af18a085b7e4eb0cccb86 Mon Sep 17 00:00:00 2001 From: Patrick Balsiger Date: Tue, 13 May 2025 14:00:28 +0200 Subject: [PATCH] feat: add GH workflow and example test --- .github/workflows/main.yaml | 22 ++++++++++++++++++++++ Makefile | 3 +++ go.mod | 7 ++++++- go.sum | 6 ++++++ pkg/network/network_test.go | 26 ++++++++++++++++++++++++++ 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/main.yaml create mode 100644 pkg/network/network_test.go diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..8004185 --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,22 @@ +name: main + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.20' + - name: Run build + run: go build -v ./... + + - name: Run tests + run: go test -v ./... diff --git a/Makefile b/Makefile index 796aa8a..bcaf52c 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,9 @@ generate: swagger generate server -f api/rcond.yaml -t api/ go mod tidy +test: + go test -v ./... + build: mkdir -p bin env GOOS=linux GOARCH=${ARCH} go build -o bin/rcond-${ARCH} ./cmd/rcond/main.go diff --git a/go.mod b/go.mod index 2fe6c29..87bed45 100644 --- a/go.mod +++ b/go.mod @@ -10,8 +10,13 @@ require ( github.com/godbus/dbus/v5 v5.1.0 github.com/google/uuid v1.6.0 github.com/gorilla/mux v1.8.1 + github.com/stretchr/testify v1.10.0 golang.org/x/crypto v0.37.0 gopkg.in/yaml.v3 v3.0.1 ) -require golang.org/x/sys v0.32.0 // indirect +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + golang.org/x/sys v0.32.0 // indirect +) diff --git a/go.sum b/go.sum index 83db8c0..94fc53b 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,15 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= diff --git a/pkg/network/network_test.go b/pkg/network/network_test.go new file mode 100644 index 0000000..b0ff4be --- /dev/null +++ b/pkg/network/network_test.go @@ -0,0 +1,26 @@ +package network + +import ( + "testing" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" +) + +func TestDefaultSTAConfig(t *testing.T) { + uuid := uuid.New() + cfg := DefaultSTAConfig(uuid, "test", "test", true) + assert.Equal(t, "802-11-wireless", cfg.Type) + assert.Equal(t, "test", cfg.ID) + assert.Equal(t, "test", cfg.SSID) + assert.Equal(t, true, cfg.AutoConnect) +} + +func TestDefaultAPConfig(t *testing.T) { + uuid := uuid.New() + cfg := DefaultAPConfig(uuid, "test", "test", true) + assert.Equal(t, "802-11-wireless", cfg.Type) + assert.Equal(t, "test", cfg.ID) + assert.Equal(t, "test", cfg.SSID) + assert.Equal(t, true, cfg.AutoConnect) +}