|
Packit |
63bb0d |
// Package client - modules_test contains functions to check the modules API
|
|
Packit |
63bb0d |
// Copyright (C) 2020 by Red Hat, Inc.
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Tests should be self-contained and not depend on the state of the server
|
|
Packit |
63bb0d |
// They should use their own blueprints, not the default blueprints
|
|
Packit |
63bb0d |
// They should not assume version numbers for packages will match
|
|
Packit |
63bb0d |
// They should run tests that depend on previous results from the same function
|
|
Packit |
63bb0d |
// not from other functions.
|
|
Packit |
63bb0d |
package client
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"testing"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
"github.com/stretchr/testify/require"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// List all the modules
|
|
Packit |
63bb0d |
func TestListAllModulesV0(t *testing.T) {
|
|
Packit |
63bb0d |
modules, api, err := ListAllModulesV0(testState.socket)
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
require.Nil(t, api, "ListAllModules failed: %#v", api)
|
|
Packit |
63bb0d |
require.True(t, len(modules) > 1, "Not enough modules returned")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// List some modules
|
|
Packit |
63bb0d |
func TestListSomeModulesV0(t *testing.T) {
|
|
Packit |
63bb0d |
modules, api, err := ListSomeModulesV0(testState.socket, 0, 5)
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
require.Nil(t, api, "ListSomeProjects failed: %#v", api)
|
|
Packit |
63bb0d |
require.True(t, len(modules) == 5, "Not enough modules returned")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// List one module
|
|
Packit |
63bb0d |
func TestListOneModulesV0(t *testing.T) {
|
|
Packit |
63bb0d |
var moduleNames string
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Unit test uses modules/packages named packageN
|
|
Packit |
63bb0d |
if testState.unitTest {
|
|
Packit |
63bb0d |
moduleNames = "package1"
|
|
Packit |
63bb0d |
} else {
|
|
Packit |
63bb0d |
moduleNames = "bash"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
modules, api, err := ListModulesV0(testState.socket, moduleNames)
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
require.Nil(t, api, "ListModules failed: %#v", api)
|
|
Packit |
63bb0d |
require.True(t, len(modules) == 1, "Not enough modules returned")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// List two modules
|
|
Packit |
63bb0d |
func TestListTwoModulesV0(t *testing.T) {
|
|
Packit |
63bb0d |
var moduleNames string
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Unit test uses modules/packages named packageN
|
|
Packit |
63bb0d |
if testState.unitTest {
|
|
Packit |
63bb0d |
moduleNames = "package1,package2"
|
|
Packit |
63bb0d |
} else {
|
|
Packit |
63bb0d |
moduleNames = "bash,tmux"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
modules, api, err := ListModulesV0(testState.socket, moduleNames)
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
require.Nil(t, api, "ListModules failed: %#v", api)
|
|
Packit |
63bb0d |
require.True(t, len(modules) == 2, "Not enough modules returned")
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Get info on a specific module
|
|
Packit |
63bb0d |
func TestOneModuleInfoV0(t *testing.T) {
|
|
Packit |
63bb0d |
var moduleNames string
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Unit test uses modules/packages named packageN
|
|
Packit |
63bb0d |
if testState.unitTest {
|
|
Packit |
63bb0d |
moduleNames = "package1"
|
|
Packit |
63bb0d |
} else {
|
|
Packit |
63bb0d |
moduleNames = "bash"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
modules, api, err := GetModulesInfoV0(testState.socket, moduleNames)
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
require.Nil(t, api, "GetModulesInfo failed: %#v", api)
|
|
Packit |
63bb0d |
require.True(t, len(modules) == 1, "Not enough modules returned: %#v", modules)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Get info on two specific modules
|
|
Packit |
63bb0d |
func TestTwoModuleInfoV0(t *testing.T) {
|
|
Packit |
63bb0d |
var moduleNames string
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Unit test uses modules/packages named packageN
|
|
Packit |
63bb0d |
if testState.unitTest {
|
|
Packit |
63bb0d |
moduleNames = "package1,package2"
|
|
Packit |
63bb0d |
} else {
|
|
Packit |
63bb0d |
moduleNames = "bash,tmux"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
modules, api, err := GetModulesInfoV0(testState.socket, moduleNames)
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
require.Nil(t, api, "GetModulesInfo failed: %#v", api)
|
|
Packit |
63bb0d |
require.True(t, len(modules) == 2, "Not enough modules returned: %#v", modules)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
// Test an invalid info request
|
|
Packit |
63bb0d |
func TestEmptyModuleInfoV0(t *testing.T) {
|
|
Packit |
63bb0d |
modules, api, err := GetModulesInfoV0(testState.socket, "")
|
|
Packit |
63bb0d |
require.NoError(t, err)
|
|
Packit |
63bb0d |
require.NotNil(t, api, "did not return an error")
|
|
Packit |
63bb0d |
require.False(t, api.Status, "wrong Status (true)")
|
|
Packit |
63bb0d |
require.True(t, len(modules) == 0)
|
|
Packit |
63bb0d |
}
|