Skip to content

Commit

Permalink
Merge pull request #31 from cobbler/ci/enable-windows
Browse files Browse the repository at this point in the history
CI: Re-enable Windows for testing
  • Loading branch information
SchoolGuy committed Aug 20, 2024
2 parents caa2583 + 0ff47d4 commit 729746b
Show file tree
Hide file tree
Showing 110 changed files with 2,434 additions and 562 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
go-version: [1.18.x, 1.19.x, 1.20.x, 1.21.x, 1.22.x]
os: [ubuntu-latest, macos-latest]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Install Go
Expand All @@ -22,8 +22,9 @@ jobs:
- name: Checkout code
uses: actions/checkout@v2
- name: Test
run: go test -race -coverprofile=coverage.out -covermode=atomic -v ./...
run: go test -race -coverprofile="coverage.out" -covermode="atomic" -v ./...
- name: Upload test coverage to Codacy
if: matrix.os == 'ubuntu-latest'
run: bash <(curl -Ls https://coverage.codacy.com/get.sh) report --force-coverage-parser go -r coverage.out
env:
CODACY_API_TOKEN: ${{ secrets.CODACY_API_TOKEN }}
Expand Down
61 changes: 29 additions & 32 deletions actions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,52 +3,50 @@ package cobblerclient
import (
"reflect"
"testing"

"github.com/ContainerSolutions/go-utils"
)

func TestSync(t *testing.T) {
c := createStubHTTPClient(t, "sync-req.xml", "sync-res.xml")
c := createStubHTTPClientSingle(t, "sync")

err := c.Sync()
utils.FailOnError(t, err)
FailOnError(t, err)
}

func TestBackgroundSync(t *testing.T) {
c := createStubHTTPClient(t, "background-sync-req.xml", "background-sync-res.xml")
c := createStubHTTPClientSingle(t, "background-sync")

res, err := c.BackgroundSync(BackgroundSyncOptions{Dhcp: false, Dns: false, Verbose: false})
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2022-09-30_145124_Sync_2cabdc4eddfa4731b45f145d7b625e29" {
t.Errorf("Problem with event id return")
}
}

func TestBackgroundSyncSystems(t *testing.T) {
c := createStubHTTPClient(t, "background-sync-systems-req.xml", "background-sync-systems-res.xml")
c := createStubHTTPClientSingle(t, "background-sync-systems")

res, err := c.BackgroundSyncSystems(BackgroundSyncSystemsOptions{Systems: []string{"", ""}, Verbose: false})
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2022-09-30_151856_Syncsystems_76d70bd7f48642f7b4cb5a0b0dcc93a5" {
t.Errorf("Problem with event id return")
}
}

func TestCheck(t *testing.T) {
c := createStubHTTPClient(t, "check-req.xml", "check-res.xml")
c := createStubHTTPClientSingle(t, "check")
expected := []string{"reposync not installed, install yum-utils"}

result, err := c.Check()
var resolvedResult = *result
utils.FailOnError(t, err)
FailOnError(t, err)

if !reflect.DeepEqual(resolvedResult, expected) {
t.Errorf("%s expected; got %s", expected, result)
}
}

func TestBackgroundBuildiso(t *testing.T) {
c := createStubHTTPClient(t, "background-buildiso-req.xml", "background-buildiso-res.xml")
c := createStubHTTPClientSingle(t, "background-buildiso")

res, err := c.BackgroundBuildiso(BuildisoOptions{
Iso: "",
Expand All @@ -62,38 +60,37 @@ func TestBackgroundBuildiso(t *testing.T) {
ExcludeDns: false,
XorrisofsOpts: "",
})
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2023-01-24_083001_Build Iso_20fa7d4256fc4f61a2b9c2237c80fb41" {
t.Fatalf("Expected a different Event-ID!")
}
}

func TestBackgroundHardlink(t *testing.T) {
c := createStubHTTPClient(t, "background-hardlink-req.xml", "background-hardlink-res.xml")
c := createStubHTTPClientSingle(t, "background-hardlink")

res, err := c.BackgroundHardlink()
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2022-09-30_203004_Hardlink_800c38f4e0424187aed6a6ffb6553ef8" {
t.Fatalf("Expected a different Event-ID!")
}
}

func TestValidateAutoinstallFiles(t *testing.T) {
c := createStubHTTPClient(
c := createStubHTTPClientSingle(
t,
"background-validate-autoinstall-files-req.xml",
"background-validate-autoinstall-files-res.xml",
"background-validate-autoinstall-files",
)

res, err := c.BackgroundValidateAutoinstallFiles()
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2022-09-30_203505_Automated installation files validation_487b1a5d1d914c62834126391ac2b601" {
t.Fatalf("Expected a different Event-ID!")
}
}

func TestBackgroundReplicate(t *testing.T) {
c := createStubHTTPClient(t, "background-replicate-req.xml", "background-replicate-res.xml")
c := createStubHTTPClientSingle(t, "background-replicate")

res, err := c.BackgroundReplicate(ReplicateOptions{
Master: "",
Expand All @@ -111,14 +108,14 @@ func TestBackgroundReplicate(t *testing.T) {
SyncAll: false,
UseSsl: false,
})
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2023-01-24_075801_Replicate_ea7a003a81264039b4277ac55664661a" {
t.Fatalf("Expected a different Event-ID!")
}
}

func TestBackgroundAclSetup(t *testing.T) {
c := createStubHTTPClient(t, "background-aclsetup-req.xml", "background-aclsetup-res.xml")
c := createStubHTTPClientSingle(t, "background-aclsetup")

res, err := c.BackgroundAclSetup(AclSetupOptions{
AddUser: "testing",
Expand All @@ -129,11 +126,11 @@ func TestBackgroundAclSetup(t *testing.T) {
if res != "2023-01-24_083137_(CLI) ACL Configuration_334327920d2946fda3ac95dbf457e76d" {
t.Errorf("Event-ID was malformed")
}
utils.FailOnError(t, err)
FailOnError(t, err)
}

func TestBackgroundImport(t *testing.T) {
c := createStubHTTPClient(t, "background-import-req.xml", "background-import-res.xml")
c := createStubHTTPClientSingle(t, "background-import")

res, err := c.BackgroundImport(BackgroundImportOptions{
Path: "",
Expand All @@ -145,55 +142,55 @@ func TestBackgroundImport(t *testing.T) {
Breed: "",
OsVersion: "",
})
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2023-01-24_103639_Media import_dd297121f7bc412e9ce4d80f05de4b3f" {
t.Fatalf("Expected a different Event-ID!")
}
}

func TestBackgroundReposync(t *testing.T) {
c := createStubHTTPClient(t, "background-reposync-req.xml", "background-reposync-res.xml")
c := createStubHTTPClientSingle(t, "background-reposync")

res, err := c.BackgroundReposync(BackgroundReposyncOptions{
Repos: nil,
Only: "",
Nofail: false,
Tries: 0,
})
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2023-01-24_103758_Reposync_3478fd19fd5f48bf8b40c728ad247348" {
t.Fatalf("Expected a different Event-ID!")
}
}

func TestBackgroundMkLoaders(t *testing.T) {
c := createStubHTTPClient(t, "background-mkloaders-req.xml", "background-mkloaders-res.xml")
c := createStubHTTPClientSingle(t, "background-mkloaders")

res, err := c.BackgroundMkLoaders()
utils.FailOnError(t, err)
FailOnError(t, err)
if res != "2022-09-30_203957_Create bootable bootloader images_9c809af4d6f148e49b071fac84f9a664" {
t.Fatalf("Expected a different Event-ID!")
}
}

func TestBackgroundPowerSystem(t *testing.T) {
c := createStubHTTPClient(t, "background-power-system-req.xml", "background-power-system-res.xml")
c := createStubHTTPClientSingle(t, "background-power-system")

result, err := c.BackgroundPowerSystem(BackgroundPowerSystemOptions{
Systems: []string{"testsys1"},
Power: "off",
})
utils.FailOnError(t, err)
FailOnError(t, err)
if result != "2024-08-06_072956_Power management ()_1a44f162efa74806b16d055dfad0fc04" {
t.Errorf("Event-ID was malformed")
}
}

func TestPowerSystem(t *testing.T) {
c := createStubHTTPClient(t, "power-system-req.xml", "power-system-res.xml")
c := createStubHTTPClientSingle(t, "power-system")

result, err := c.PowerSystem("system::testsys1", "status")
utils.FailOnError(t, err)
FailOnError(t, err)
if !result {
t.Errorf("Expected power operation not to fail!")
}
Expand Down
34 changes: 16 additions & 18 deletions authentication_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,43 @@ package cobblerclient

import (
"testing"

"github.com/ContainerSolutions/go-utils"
)

func TestCheckAccessNoFail(t *testing.T) {
c := createStubHTTPClient(t, "check-access-no-fail-req.xml", "check-access-no-fail-res.xml")
c := createStubHTTPClientSingle(t, "check-access-no-fail")

res, err := c.CheckAccessNoFail("", "", "")
utils.FailOnError(t, err)
FailOnError(t, err)
if res != false {
t.Errorf(`"%t" expected; got "%t"`, false, res)
}
}

func TestCheckAccess(t *testing.T) {
c := createStubHTTPClient(t, "check-access-req.xml", "check-access-res.xml")
c := createStubHTTPClientSingle(t, "check-access")

res, err := c.CheckAccess("", "", "")
utils.FailOnError(t, err)
FailOnError(t, err)
if res < 0 || res > 1 {
t.Errorf(`"0" or "1" expected; got "%d"`, res)
}
}

func TestGetAuthnModuleName(t *testing.T) {
c := createStubHTTPClient(t, "get-authn-module-name-req.xml", "get-authn-module-name-res.xml")
c := createStubHTTPClientSingle(t, "get-authn-module-name")
var expected = "authentication.configfile"

res, err := c.GetAuthnModuleName()
utils.FailOnError(t, err)
FailOnError(t, err)
if res != expected {
t.Errorf(`"%s" expected; got "%s"`, expected, res)
}
}

func TestLogin(t *testing.T) {
c := createStubHTTPClient(t, "login-req.xml", "login-res.xml")
c := createStubHTTPClientSingle(t, "login")
ok, err := c.Login()
utils.FailOnError(t, err)
FailOnError(t, err)

if !ok {
t.Errorf("true expected; got false")
Expand All @@ -53,47 +51,47 @@ func TestLogin(t *testing.T) {
}

func TestLoginWithError(t *testing.T) {
c := createStubHTTPClient(t, "login-req.xml", "login-res-err.xml")
c := createStubHTTPClientSingle(t, "login-err")
expected := `Fault(1): <class 'cobbler.cexceptions.CX'>:'login failed (cobbler)'`

ok, err := c.Login()
if ok {
t.Errorf("false expected; got true")
}

if err.Error() != expected {
if err == nil || err.Error() != expected {
t.Errorf("%s expected; got %s", expected, err)
}
}

func TestLogout(t *testing.T) {
c := createStubHTTPClient(t, "logout-req.xml", "logout-res.xml")
c := createStubHTTPClientSingle(t, "logout")
var expected = false

res, err := c.Logout()
utils.FailOnError(t, err)
FailOnError(t, err)
if res != expected {
t.Errorf(`"%t" expected; got "%t"`, expected, res)
}
}

func TestTokenCheck(t *testing.T) {
c := createStubHTTPClient(t, "token-check-req.xml", "token-check-res.xml")
c := createStubHTTPClientSingle(t, "token-check")
var expected = false

res, err := c.TokenCheck("my_fake_token")
utils.FailOnError(t, err)
FailOnError(t, err)
if res == expected {
t.Errorf(`"%t" expected; got "%t"`, expected, res)
}
}

func TestGetUserFromToken(t *testing.T) {
c := createStubHTTPClient(t, "get-user-from-token-req.xml", "get-user-from-token-res.xml")
c := createStubHTTPClientSingle(t, "get-user-from-token")
var expected = "testuser"

res, err := c.GetUserFromToken("securetoken99")
utils.FailOnError(t, err)
FailOnError(t, err)
if res != expected {
t.Errorf(`"%s" expected; got "%s"`, expected, res)
}
Expand Down
Loading

0 comments on commit 729746b

Please sign in to comment.