|
1 | | -package service_test |
| 1 | +package types_test |
2 | 2 |
|
3 | 3 | import ( |
4 | 4 | "testing" |
5 | 5 |
|
| 6 | + "github.com/render-oss/cli/pkg/types" |
6 | 7 | "github.com/stretchr/testify/assert" |
7 | 8 | "github.com/stretchr/testify/require" |
8 | | - |
9 | | - service "github.com/render-oss/cli/pkg/types/service" |
10 | 9 | ) |
11 | 10 |
|
12 | 11 | func TestParseIPAllowListEntry(t *testing.T) { |
13 | 12 | t.Run("parses cidr with description", func(t *testing.T) { |
14 | | - cidr, desc, err := service.ParseIPAllowListEntry("cidr=10.0.0.0/8,description=Internal") |
| 13 | + cidr, desc, err := types.ParseIPAllowListEntry("cidr=10.0.0.0/8,description=Internal") |
15 | 14 | require.NoError(t, err) |
16 | 15 | assert.Equal(t, "10.0.0.0/8", cidr) |
17 | 16 | assert.Equal(t, "Internal", desc) |
18 | 17 | }) |
19 | 18 |
|
20 | 19 | t.Run("parses cidr without description", func(t *testing.T) { |
21 | | - cidr, desc, err := service.ParseIPAllowListEntry("cidr=10.0.0.0/8") |
| 20 | + cidr, desc, err := types.ParseIPAllowListEntry("cidr=10.0.0.0/8") |
22 | 21 | require.NoError(t, err) |
23 | 22 | assert.Equal(t, "10.0.0.0/8", cidr) |
24 | 23 | assert.Equal(t, "", desc) |
25 | 24 | }) |
26 | 25 |
|
27 | 26 | t.Run("handles IPv6 CIDR", func(t *testing.T) { |
28 | | - cidr, desc, err := service.ParseIPAllowListEntry("cidr=2001:db8::/32,description=IPv6 range") |
| 27 | + cidr, desc, err := types.ParseIPAllowListEntry("cidr=2001:db8::/32,description=IPv6 range") |
29 | 28 | require.NoError(t, err) |
30 | 29 | assert.Equal(t, "2001:db8::/32", cidr) |
31 | 30 | assert.Equal(t, "IPv6 range", desc) |
32 | 31 | }) |
33 | 32 |
|
34 | 33 | t.Run("rejects malformed input missing cidr key", func(t *testing.T) { |
35 | | - _, _, err := service.ParseIPAllowListEntry("malformed") |
| 34 | + _, _, err := types.ParseIPAllowListEntry("malformed") |
36 | 35 | require.Error(t, err) |
37 | 36 | assert.Contains(t, err.Error(), "must start with cidr=") |
38 | 37 | }) |
39 | 38 |
|
40 | 39 | t.Run("rejects empty cidr value", func(t *testing.T) { |
41 | | - _, _, err := service.ParseIPAllowListEntry("cidr=") |
| 40 | + _, _, err := types.ParseIPAllowListEntry("cidr=") |
42 | 41 | require.Error(t, err) |
43 | 42 | assert.Contains(t, err.Error(), "cidr value is empty") |
44 | 43 | }) |
45 | 44 |
|
46 | 45 | t.Run("rejects empty cidr value with description", func(t *testing.T) { |
47 | | - _, _, err := service.ParseIPAllowListEntry("cidr=,description=foo") |
| 46 | + _, _, err := types.ParseIPAllowListEntry("cidr=,description=foo") |
48 | 47 | require.Error(t, err) |
49 | 48 | assert.Contains(t, err.Error(), "cidr value is empty") |
50 | 49 | }) |
51 | 50 |
|
52 | 51 | t.Run("rejects invalid CIDR", func(t *testing.T) { |
53 | | - _, _, err := service.ParseIPAllowListEntry("cidr=not-a-cidr") |
| 52 | + _, _, err := types.ParseIPAllowListEntry("cidr=not-a-cidr") |
54 | 53 | require.Error(t, err) |
55 | 54 | assert.Contains(t, err.Error(), "invalid CIDR") |
56 | 55 | }) |
57 | 56 |
|
58 | 57 | t.Run("rejects IP without prefix length", func(t *testing.T) { |
59 | | - _, _, err := service.ParseIPAllowListEntry("cidr=10.0.0.1") |
| 58 | + _, _, err := types.ParseIPAllowListEntry("cidr=10.0.0.1") |
60 | 59 | require.Error(t, err) |
61 | 60 | assert.Contains(t, err.Error(), "invalid CIDR") |
62 | 61 | }) |
63 | 62 | } |
64 | 63 |
|
65 | 64 | func TestFormatIPAllowListEntry(t *testing.T) { |
66 | 65 | t.Run("formats cidr with description", func(t *testing.T) { |
67 | | - result := service.FormatIPAllowListEntry("10.0.0.0/8", "Internal") |
| 66 | + result := types.FormatIPAllowListEntry("10.0.0.0/8", "Internal") |
68 | 67 | assert.Equal(t, "cidr=10.0.0.0/8,description=Internal", result) |
69 | 68 | }) |
70 | 69 |
|
71 | 70 | t.Run("formats cidr without description", func(t *testing.T) { |
72 | | - result := service.FormatIPAllowListEntry("10.0.0.0/8", "") |
| 71 | + result := types.FormatIPAllowListEntry("10.0.0.0/8", "") |
73 | 72 | assert.Equal(t, "cidr=10.0.0.0/8", result) |
74 | 73 | }) |
75 | 74 |
|
76 | 75 | t.Run("formats IPv6 cidr with description", func(t *testing.T) { |
77 | | - result := service.FormatIPAllowListEntry("2001:db8::/32", "IPv6 range") |
| 76 | + result := types.FormatIPAllowListEntry("2001:db8::/32", "IPv6 range") |
78 | 77 | assert.Equal(t, "cidr=2001:db8::/32,description=IPv6 range", result) |
79 | 78 | }) |
80 | 79 |
|
81 | 80 | t.Run("formats IPv6 cidr without description", func(t *testing.T) { |
82 | | - result := service.FormatIPAllowListEntry("2001:db8::/32", "") |
| 81 | + result := types.FormatIPAllowListEntry("2001:db8::/32", "") |
83 | 82 | assert.Equal(t, "cidr=2001:db8::/32", result) |
84 | 83 | }) |
85 | 84 | } |
0 commit comments