Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/common-go/namegen/workspaceid_test.go
2500 views
1
// Copyright (c) 2020 Gitpod GmbH. All rights reserved.
2
// Licensed under the GNU Affero General Public License (AGPL).
3
// See License.AGPL.txt in the project root for license information.
4
5
package namegen_test
6
7
import (
8
"testing"
9
10
"github.com/stretchr/testify/require"
11
12
"github.com/gitpod-io/gitpod/common-go/namegen"
13
)
14
15
func TestGenerateWorkspaceID(t *testing.T) {
16
for i := 0; i < 1000; i++ {
17
name, err := namegen.GenerateWorkspaceID()
18
if err != nil {
19
t.Error(err)
20
}
21
22
err = namegen.ValidateWorkspaceID(name)
23
if err != nil {
24
t.Errorf("The workspace id \"%s\" didn't met the expectation.", name)
25
}
26
}
27
}
28
29
func TestValidateWorkspaceID(t *testing.T) {
30
valid := []string{
31
"gitpodio-gitpod-65k8jqq6up4",
32
"testeraccountwit-empty-g6024jgir2j",
33
"largetextlargete-largetextlargete-g6024jgir2j",
34
}
35
for _, v := range valid {
36
require.NoError(t, namegen.ValidateWorkspaceID(v))
37
}
38
39
invalid := []string{
40
"",
41
"foo",
42
"foo-bar",
43
"fo-bo",
44
"foo-bar-12",
45
"foo--",
46
"---",
47
}
48
for _, i := range invalid {
49
require.Error(t, namegen.ValidateWorkspaceID(i))
50
}
51
52
}
53
54