Skip to content

Commit

Permalink
add test cases for includes for files and folders
Browse files Browse the repository at this point in the history
  • Loading branch information
lausser committed Jul 12, 2023
1 parent c49c089 commit 9219078
Showing 1 changed file with 77 additions and 0 deletions.
77 changes: 77 additions & 0 deletions pkg/snclient/config_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package snclient

import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strings"
"testing"

Expand Down Expand Up @@ -73,3 +77,76 @@ Key3 = Value3
val4, _ := section.GetString("Key4")
assert.Equalf(t, "Value4", val4, "got val4")
}

func TestConfigIncludeFile(t *testing.T) {
testDir, _ := os.Getwd()
configsDir := filepath.Join(testDir, "t", "configs")
configText := fmt.Sprintf(`
[/settings/NRPE/server]
port = 5666
[/settings/WEB/server]
port = 443
password = supersecret
[/includes]
custom_ini = %s/nrpe_web_ports.ini
`, configsDir)
iniFile, err := ioutil.TempFile("", "snclient-*.ini")
defer os.Remove(iniFile.Name())
_, _ = iniFile.WriteString(configText)
err = iniFile.Close()
assert.NoErrorf(t, err, "config written")
cfg := NewConfig()
err = cfg.ReadINI(iniFile.Name())
assert.NoErrorf(t, err, "config parsed")

section := cfg.Section("/settings/NRPE/server")
nrpePort, _ := section.GetString("port")
assert.Equalf(t, "15666", nrpePort, "got nrpe port")

section = cfg.Section("/settings/WEB/server")
webPort, _ := section.GetString("port")
assert.Equalf(t, "1443", webPort, "got web port")
webPassword, _ := section.GetString("password")
assert.Equalf(t, "soopersecret", webPassword, "got web password")

}
func TestConfigIncludeDir(t *testing.T) {
testDir, _ := os.Getwd()
configsDir := filepath.Join(testDir, "t", "configs")
customDir := filepath.Join(testDir, "t", "configs", "custom")
configText := fmt.Sprintf(`
[/settings/NRPE/server]
port = 5666
[/settings/WEB/server]
port = 443
password = supersecret
[/includes]
custom_ini = %s/nrpe_web_ports.ini
custom_ini = %s
`, configsDir, customDir)
iniFile, err := ioutil.TempFile("", "snclient-*.ini")
defer os.Remove(iniFile.Name())
_, _ = iniFile.WriteString(configText)
err = iniFile.Close()
assert.NoErrorf(t, err, "config written")
cfg := NewConfig()
err = cfg.ReadINI(iniFile.Name())
assert.NoErrorf(t, err, "config parsed")

section := cfg.Section("/settings/NRPE/server")
nrpePort, _ := section.GetString("port")
assert.Equalf(t, "11111", nrpePort, "got nrpe port")

section = cfg.Section("/settings/WEB/server")
webPort, _ := section.GetString("port")
assert.Equalf(t, "84433", webPort, "got web port")
webPassword, _ := section.GetString("password")
assert.Equalf(t, "consol123", webPassword, "got web password")

}

0 comments on commit 9219078

Please sign in to comment.