-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathmain_test.go
More file actions
93 lines (80 loc) · 2.35 KB
/
Copy pathmain_test.go
File metadata and controls
93 lines (80 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package main
import (
"github.com/stretchr/testify/require"
"testing"
"os"
)
func TestRetrieveExportableEnvironmentSingleLength(t *testing.T) {
environments := createExportedEnvironment("HOME")
require.Equal(t, 1, len(environments))
}
func TestRetrieveExportableEnvironmentMultipleLength(t *testing.T) {
environments := createExportedEnvironment("HOME|USER")
require.Equal(t, 2, len(environments))
}
func TestRetrieveExportableEnvironmentValues(t *testing.T) {
environments := createExportedEnvironment("HOME|USER")
require.Equal(t, "HOME", environments[0].MappedTo)
require.Equal(t, os.Getenv("HOME"), environments[0].Value)
require.Equal(t, "USER", environments[1].MappedTo)
require.Equal(t, os.Getenv("USER"), environments[1].Value)
}
func TestRetrieveExportableEnvironmentEmptyValue(t *testing.T) {
environments := createExportedEnvironment("dummy")
require.Equal(t, "dummy", environments[0].MappedTo)
require.Equal(t, "", environments[0].Value)
}
func TestSplitPipeSeparatedStringArrayEmpty(t *testing.T) {
environment := splitPipeSeparatedStringArray("")
require.Equal(t, 0, len(environment))
}
func TestSplitPipeSeparatedStringArrayNonEmpty(t *testing.T) {
environment := splitPipeSeparatedStringArray("a|b")
require.Equal(t, 2, len(environment))
require.Equal(t, "a", environment[0])
require.Equal(t, "b", environment[1])
}
func TestValidateConfigsNoSlug(t *testing.T) {
configs := ConfigsModel{
APIToken:"token",
}
require.Error(t, configs.validate())
}
func TestValidateConfigsNoApiToken(t *testing.T) {
configs := ConfigsModel{
AppSlug:"slug",
}
require.Error(t, configs.validate())
}
func TestValidateConfigsEmptyVariable(t *testing.T) {
configs := ConfigsModel{
APIToken:"token",
AppSlug:"slug",
ExportedVariableNames:"|",
}
require.Error(t, configs.validate())
}
func TestValidateConfigsInvalidVariable(t *testing.T) {
configs := ConfigsModel{
APIToken:"token",
AppSlug:"slug",
ExportedVariableNames:"a|b=",
}
require.Error(t, configs.validate())
}
func TestValidateConfigsNoVariables(t *testing.T) {
configs := ConfigsModel{
APIToken:"token",
AppSlug:"slug",
ExportedVariableNames:"",
}
require.NoError(t, configs.validate())
}
func TestValidateConfigsValidVariables(t *testing.T) {
configs := ConfigsModel{
APIToken:"token",
AppSlug:"slug",
ExportedVariableNames:"a|b",
}
require.NoError(t, configs.validate())
}