File: external_ca_test.go

package info (click to toggle)
docker.io 20.10.24%2Bdfsg1-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 60,824 kB
  • sloc: sh: 5,621; makefile: 593; ansic: 179; python: 162; asm: 7
file content (47 lines) | stat: -rw-r--r-- 851 bytes parent folder | download | duplicates (7)
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
package cli

import (
	"testing"

	"github.com/docker/swarmkit/api"
	"github.com/stretchr/testify/assert"
)

func TestParseExternalCA(t *testing.T) {
	invalidSpecs := []string{
		"",
		"asdf",
		"asdf=",
		"protocol",
		"protocol=foo",
		"protocol=cfssl",
		"url",
		"url=https://xyz",
		"url,protocol",
	}

	for _, spec := range invalidSpecs {
		_, err := parseExternalCA(spec)
		assert.Error(t, err)
	}

	validSpecs := []struct {
		input    string
		expected *api.ExternalCA
	}{
		{
			input: "protocol=cfssl,url=https://example.com",
			expected: &api.ExternalCA{
				Protocol: api.ExternalCA_CAProtocolCFSSL,
				URL:      "https://example.com",
				Options:  map[string]string{},
			},
		},
	}

	for _, spec := range validSpecs {
		parsed, err := parseExternalCA(spec.input)
		assert.NoError(t, err)
		assert.Equal(t, spec.expected, parsed)
	}
}