Skip to content

Commit

Permalink
DXE-4384 Missing child file when using uppercase letters for a second…
Browse files Browse the repository at this point in the history
… rule with lowercase letters
  • Loading branch information
mgwoj committed Nov 18, 2024
1 parent 352e967 commit 852aaf2
Show file tree
Hide file tree
Showing 15 changed files with 126 additions and 5 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,8 @@




* PAPI
* Fixed missing child file when using uppercase letters for a second rule with lowercase letters ([#78](https://github.com/akamai/cli-terraform/issues/78)).



Expand Down
5 changes: 3 additions & 2 deletions pkg/providers/papi/create_property.go
Original file line number Diff line number Diff line change
Expand Up @@ -959,8 +959,9 @@ func ruleNameNormalizer() func(string) string {
names := map[string]int{}
return func(name string) string {
name = normalizeRuleName(name)
names[name]++
if count := names[name]; count > 1 {
caseInsensitiveName := strings.ToLower(name)
names[caseInsensitiveName]++
if count := names[caseInsensitiveName]; count > 1 {
name = fmt.Sprintf("%s%d", name, count-1)
}
return name
Expand Down
7 changes: 7 additions & 0 deletions pkg/providers/papi/create_property_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1248,6 +1248,8 @@ func TestCreateProperty(t *testing.T) {
"Content_Compression.json",
"Static_Content.json",
"Dynamic_Content.json",
"IPCUID_Invalidation.json",
"ipcuid_invalidation1.json",
},
},
"import not the latest property version": {
Expand Down Expand Up @@ -2930,6 +2932,11 @@ func TestRuleNameNormalizer(t *testing.T) {
expected: "test_name2",
preTest: []string{"test%name", "testName", "test name"},
},
"two duplicates different case": {
given: "ipcuid invalidation",
expected: "ipcuid_invalidation1",
preTest: []string{"IPCUID Invalidation"},
},
}

for name, test := range tests {
Expand Down
14 changes: 14 additions & 0 deletions pkg/providers/papi/testdata/basic-rules-datasource/mock_rules.json
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,20 @@
"criteria": [],
"criteriaMustSatisfy": "all",
"comments": "Test mPulse"
},
{
"name": "IPCUID Invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
},
{
"name": "ipcuid invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
}
],
"criteriaMustSatisfy": "all"
Expand Down
16 changes: 16 additions & 0 deletions pkg/providers/papi/testdata/basic-rules-datasource/rules.tf
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,8 @@ EOT
data.akamai_property_rules_builder.test-edgesuite-net_rule_new_rule3.json,
data.akamai_property_rules_builder.test-edgesuite-net_rule_strange_characters--a-------------ą1.json,
data.akamai_property_rules_builder.test-edgesuite-net_rule_m_pulse.json,
data.akamai_property_rules_builder.test-edgesuite-net_rule_ipcuid_invalidation.json,
data.akamai_property_rules_builder.test-edgesuite-net_rule_ipcuid_invalidation1.json,
]
}
}
Expand Down Expand Up @@ -348,3 +350,17 @@ data "akamai_property_rules_builder" "test-edgesuite-net_rule_m_pulse" {
}
}
}

data "akamai_property_rules_builder" "test-edgesuite-net_rule_ipcuid_invalidation" {
rules_v2023_01_05 {
name = "IPCUID Invalidation"
criteria_must_satisfy = "all"
}
}

data "akamai_property_rules_builder" "test-edgesuite-net_rule_ipcuid_invalidation1" {
rules_v2023_01_05 {
name = "ipcuid invalidation"
criteria_must_satisfy = "all"
}
}
14 changes: 14 additions & 0 deletions pkg/providers/papi/testdata/basic/mock_rules.json
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,20 @@
"name": "Dynamic Content",
"options": {},
"criteriaMustSatisfy": "all"
},
{
"name": "IPCUID Invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
},
{
"name": "ipcuid invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
}
],
"name": "default",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "IPCUID Invalidation",
"options": {},
"criteriaMustSatisfy": "all"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "ipcuid invalidation",
"options": {},
"criteriaMustSatisfy": "all"
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@
"children": [
"#include:Content_Compression.json",
"#include:Static_Content.json",
"#include:Dynamic_Content.json"
"#include:Dynamic_Content.json",
"#include:IPCUID_Invalidation.json",
"#include:ipcuid_invalidation1.json"
],
"uuid": "default",
"options": {},
Expand Down
14 changes: 14 additions & 0 deletions pkg/providers/papi/testdata/include_basic/mock_rules.json
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,20 @@
"name": "Dynamic Content",
"options": {},
"criteriaMustSatisfy": "all"
},
{
"name": "IPCUID Invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
},
{
"name": "ipcuid invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
}
],
"name": "default",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "IPCUID Invalidation",
"options": {},
"criteriaMustSatisfy": "all"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "ipcuid invalidation",
"options": {},
"criteriaMustSatisfy": "all"
}
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,9 @@
"children": [
"#include:Content_Compression.json",
"#include:Static_Content.json",
"#include:Dynamic_Content.json"
"#include:Dynamic_Content.json",
"#include:IPCUID_Invalidation.json",
"#include:ipcuid_invalidation1.json"
],
"uuid": "default",
"options": {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ data "akamai_property_rules_builder" "test_include_rule_default" {
data.akamai_property_rules_builder.test_include_rule_content_compression.json,
data.akamai_property_rules_builder.test_include_rule_static_content.json,
data.akamai_property_rules_builder.test_include_rule_dynamic_content.json,
data.akamai_property_rules_builder.test_include_rule_ipcuid_invalidation.json,
data.akamai_property_rules_builder.test_include_rule_ipcuid_invalidation1.json,
]
}
}
Expand Down Expand Up @@ -123,3 +125,17 @@ data "akamai_property_rules_builder" "test_include_rule_dynamic_content" {
}
}
}

data "akamai_property_rules_builder" "test_include_rule_ipcuid_invalidation" {
rules_v2023_01_05 {
name = "IPCUID Invalidation"
criteria_must_satisfy = "all"
}
}

data "akamai_property_rules_builder" "test_include_rule_ipcuid_invalidation1" {
rules_v2023_01_05 {
name = "ipcuid invalidation"
criteria_must_satisfy = "all"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,20 @@
"name": "Dynamic Content",
"options": {},
"criteriaMustSatisfy": "all"
},
{
"name": "IPCUID Invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
},
{
"name": "ipcuid invalidation",
"children": [],
"behaviors": [],
"criteria": [],
"criteriaMustSatisfy": "all"
}
],
"name": "default",
Expand Down

0 comments on commit 852aaf2

Please sign in to comment.