|
| 1 | +package spec |
| 2 | + |
| 3 | +import ( |
| 4 | + "os" |
| 5 | + "path/filepath" |
| 6 | + "testing" |
| 7 | + |
| 8 | + "github.com/stretchr/testify/assert" |
| 9 | + "github.com/stretchr/testify/require" |
| 10 | +) |
| 11 | + |
| 12 | +func TestToDistributionCommonParamsIncludesPriority(t *testing.T) { |
| 13 | + rule := DistributionRule{ |
| 14 | + SiteName: "edge1", |
| 15 | + CityName: "Tel Aviv", |
| 16 | + CountryCodes: []string{"IL"}, |
| 17 | + Priority: "high", |
| 18 | + } |
| 19 | + |
| 20 | + params := rule.ToDistributionCommonParams() |
| 21 | + require.NotNil(t, params) |
| 22 | + assert.Equal(t, "edge1", params.SiteName) |
| 23 | + assert.Equal(t, "Tel Aviv", params.CityName) |
| 24 | + assert.Equal(t, []string{"IL"}, params.CountryCodes) |
| 25 | + assert.Equal(t, "high", params.Priority) |
| 26 | +} |
| 27 | + |
| 28 | +func TestCreateDistributionRulesFromFileParsesPriority(t *testing.T) { |
| 29 | + dir := t.TempDir() |
| 30 | + path := filepath.Join(dir, "rules.json") |
| 31 | + content := `{ |
| 32 | + "distribution_rules": [ |
| 33 | + { |
| 34 | + "site_name": "edge*", |
| 35 | + "priority": "medium" |
| 36 | + } |
| 37 | + ] |
| 38 | +}` |
| 39 | + require.NoError(t, os.WriteFile(path, []byte(content), 0o644)) |
| 40 | + |
| 41 | + rules, err := CreateDistributionRulesFromFile(path) |
| 42 | + require.NoError(t, err) |
| 43 | + require.Len(t, rules.DistributionRules, 1) |
| 44 | + assert.Equal(t, "edge*", rules.DistributionRules[0].SiteName) |
| 45 | + assert.Equal(t, "medium", rules.DistributionRules[0].Priority) |
| 46 | + assert.Equal(t, "medium", rules.DistributionRules[0].ToDistributionCommonParams().Priority) |
| 47 | +} |
0 commit comments