client: Handle the differences between unit tests and integration tests

The mock server used by unit tests is slightly different than the
running server, mostly related to package names that are hard-coded.

This adds a bool to testState that can be used in the tests to alter the
expected behavior. It should be used as little as possible.
This commit is contained in:
Brian C. Lane 2020-03-26 16:41:16 -07:00 committed by Tom Gundersen
parent 856eb59edf
commit e3934108f7
7 changed files with 88 additions and 11 deletions

View file

@ -32,7 +32,15 @@ func TestListSomeModulesV0(t *testing.T) {
// List one module
func TestListOneModulesV0(t *testing.T) {
modules, api, err := ListModulesV0(testState.socket, "bash")
var moduleNames string
// Unit test uses modules/packages named packageN
if testState.unitTest {
moduleNames = "package1"
} else {
moduleNames = "bash"
}
modules, api, err := ListModulesV0(testState.socket, moduleNames)
require.NoError(t, err)
require.Nil(t, api, "ListModules failed: %#v", api)
require.True(t, len(modules) == 1, "Not enough modules returned")
@ -40,7 +48,15 @@ func TestListOneModulesV0(t *testing.T) {
// List two modules
func TestListTwoModulesV0(t *testing.T) {
modules, api, err := ListModulesV0(testState.socket, "bash,tmux")
var moduleNames string
// Unit test uses modules/packages named packageN
if testState.unitTest {
moduleNames = "package1,package2"
} else {
moduleNames = "bash,tmux"
}
modules, api, err := ListModulesV0(testState.socket, moduleNames)
require.NoError(t, err)
require.Nil(t, api, "ListModules failed: %#v", api)
require.True(t, len(modules) == 2, "Not enough modules returned")
@ -48,7 +64,15 @@ func TestListTwoModulesV0(t *testing.T) {
// Get info on a specific module
func TestOneModuleInfoV0(t *testing.T) {
modules, api, err := GetModulesInfoV0(testState.socket, "bash")
var moduleNames string
// Unit test uses modules/packages named packageN
if testState.unitTest {
moduleNames = "package1"
} else {
moduleNames = "bash"
}
modules, api, err := GetModulesInfoV0(testState.socket, moduleNames)
require.NoError(t, err)
require.Nil(t, api, "GetModulesInfo failed: %#v", api)
require.True(t, len(modules) == 1, "Not enough modules returned: %#v", modules)
@ -56,7 +80,15 @@ func TestOneModuleInfoV0(t *testing.T) {
// Get info on two specific modules
func TestTwoModuleInfoV0(t *testing.T) {
modules, api, err := GetModulesInfoV0(testState.socket, "bash,tmux")
var moduleNames string
// Unit test uses modules/packages named packageN
if testState.unitTest {
moduleNames = "package1,package2"
} else {
moduleNames = "bash,tmux"
}
modules, api, err := GetModulesInfoV0(testState.socket, moduleNames)
require.NoError(t, err)
require.Nil(t, api, "GetModulesInfo failed: %#v", api)
require.True(t, len(modules) == 2, "Not enough modules returned: %#v", modules)