File: utils_windows_test.go

package info (click to toggle)
gitlab-ci-multi-runner 14.10.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 31,248 kB
  • sloc: sh: 1,694; makefile: 384; asm: 79; ruby: 68
file content (42 lines) | stat: -rw-r--r-- 1,080 bytes parent folder | download
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
//go:build !integration
// +build !integration

package volumes

import (
	"testing"

	"gitlab.com/gitlab-org/gitlab-runner/executors/docker/internal/volumes/parser"
)

func TestIsHostMountedVolume_Windows(t *testing.T) {
	testCases := isHostMountedVolumeTestCases{
		"empty volumes": {
			dir:            `c:\test\to\checked\dir`,
			volumes:        []string{},
			expectedResult: false,
		},
		"no host volumes": {
			dir:            `c:\test\to\checked\dir`,
			volumes:        []string{`c:\test\to`},
			expectedResult: false,
		},
		"dir not within volumes": {
			dir:            `c:\test\to\checked\dir`,
			volumes:        []string{`c:\host:c:\destination`},
			expectedResult: false,
		},
		"dir within volumes": {
			dir:            `c:\test\to\checked\dir`,
			volumes:        []string{`c:\host:c:\test\to`},
			expectedResult: true,
		},
		"error on parsing": {
			dir:           `c:\test\to\checked\dir`,
			volumes:       []string{""},
			expectedError: parser.NewInvalidVolumeSpecErr(""),
		},
	}

	testIsHostMountedVolume(t, parser.NewWindowsParser(), testCases)
}