@@ -12,11 +12,12 @@ func TestDetermineProvider(t *testing.T) {
12
12
sku string
13
13
expected string
14
14
}{
15
- {"AWS SKU" , "MONGODB_ATLAS_AWS_INSTANCE_M10 " , "AWS" },
16
- {"AZURE SKU" , "MONGODB_ATLAS_AZURE_INSTANCE_M20 " , "AZURE" },
17
- {"GCP SKU" , "MONGODB_ATLAS_GCP_INSTANCE_M30 " , "GCP" },
18
- {"Unknown provider" , "MONGODB_ATLAS_INSTANCE_M40 " , "n/a" },
15
+ {"AWS SKU" , "NDS_AWS_INSTANCE_M10 " , "AWS" },
16
+ {"AZURE SKU" , "NDS_AZURE_INSTANCE_M20 " , "AZURE" },
17
+ {"GCP SKU" , "NDS_GCP_INSTANCE_M30 " , "GCP" },
18
+ {"Unknown provider" , "NDS_INSTANCE_M40 " , "n/a" },
19
19
{"Empty SKU" , "" , "n/a" },
20
+ {"Mixed case" , "nds_Aws_instance" , "AWS" },
20
21
}
21
22
22
23
for _ , tc := range tests {
@@ -33,11 +34,11 @@ func TestDetermineInstance(t *testing.T) {
33
34
sku string
34
35
expected string
35
36
}{
36
- {"Basic instance" , "MONGODB_ATLAS_AWS_INSTANCE_M10 " , "M10" },
37
- {"Complex instance name" , "MONGODB_ATLAS_AWS_INSTANCE_M30_NVME " , "M30_NVME " },
38
- {"No instance marker " , "MONGODB_ATLAS_BACKUP " , "non-instance" },
37
+ {"Basic instance" , "NDS_AWS_INSTANCE_M10 " , "M10" },
38
+ {"Complex instance name" , "NDS_AWS_INSTANCE_M40_NVME " , "M40_NVME " },
39
+ {"Serverless instance" , "NDS_AWS_SERVERLESS_RPU " , "non-instance" },
39
40
{"Empty SKU" , "" , "non-instance" },
40
- {"Multiple instance markers " , "INSTANCE_M10_INSTANCE_M20 " , "M20 " },
41
+ {"Search instance" , "NDS_AWS_SEARCH_INSTANCE_S20_COMPUTE_NVME " , "S20_COMPUTE_NVME " },
41
42
}
42
43
43
44
for _ , tc := range tests {
@@ -54,23 +55,31 @@ func TestDetermineCategory(t *testing.T) {
54
55
sku string
55
56
expected string
56
57
}{
57
- {"Instance category" , "MONGODB_ATLAS_AWS_INSTANCE_M10" , "instances" },
58
- {"Backup category" , "MONGODB_ATLAS_BACKUP" , "backup" },
59
- {"PIT Restore" , "MONGODB_ATLAS_PIT_RESTORE" , "backup" },
60
- {"Data Transfer" , "MONGODB_ATLAS_DATA_TRANSFER" , "data xfer" },
61
- {"Storage" , "MONGODB_ATLAS_STORAGE" , "storage" },
62
- {"BI Connector" , "MONGODB_ATLAS_BI_CONNECTOR" , "bi-connector" },
63
- {"Data Lake" , "MONGODB_ATLAS_DATA_LAKE" , "data lake" },
64
- {"Auditing" , "MONGODB_ATLAS_AUDITING" , "audit" },
65
- {"Atlas Support" , "MONGODB_ATLAS_SUPPORT" , "support" },
66
- {"Free Support" , "MONGODB_ATLAS_FREE_SUPPORT" , "free support" },
67
- {"Charts" , "MONGODB_ATLAS_CHARTS" , "charts" },
68
- {"Serverless" , "MONGODB_ATLAS_SERVERLESS" , "serverless" },
69
- {"Security" , "MONGODB_ATLAS_SECURITY" , "security" },
70
- {"Private Endpoint" , "MONGODB_ATLAS_PRIVATE_ENDPOINT" , "private endpoint" },
71
- {"Other category" , "MONGODB_ATLAS_UNKNOWN" , "other" },
72
- {"Empty SKU" , "" , "other" },
73
- {"Multiple patterns" , "MONGODB_ATLAS_BACKUP_STORAGE" , "backup" }, // First match should win
58
+ {"Instance category" , "NDS_AWS_INSTANCE_M10" , "Clusters" },
59
+ {"Backup category" , "NDS_AWS_BACKUP_SNAPSHOT_STORAGE" , "Backup" },
60
+ {"PIT Restore" , "NDS_AWS_PIT_RESTORE_STORAGE" , "Backup" },
61
+ {"Legacy Backup" , "CLASSIC_BACKUP_STORAGE" , "Legacy Backup" },
62
+ {"Data Transfer" , "NDS_AWS_DATA_TRANSFER_SAME_REGION" , "Data Transfer" },
63
+ {"Storage" , "NDS_AWS_STORAGE_STANDARD" , "Storage" },
64
+ {"BI Connector" , "NDS_BI_CONNECTOR" , "BI Connector" },
65
+ {"Data Lake" , "DATA_LAKE_AWS_DATA_SCANNED" , "Atlas Data Federation" },
66
+ {"Data Federation" , "DATA_FEDERATION_AZURE_DATA_SCANNED" , "Atlas Data Federation" },
67
+ {"Auditing" , "NDS_ENTERPRISE_AUDITING" , "Premium Features" },
68
+ {"Atlas Support" , "NDS_ENTITLEMENTS" , "Support" },
69
+ {"Free Support" , "NDS_FREE_SUPPORT" , "Support" },
70
+ {"Charts" , "CHARTS_DATA_DOWNLOADED" , "Charts" },
71
+ {"Serverless" , "NDS_AWS_SERVERLESS_RPU" , "Serverless Instances" },
72
+ {"Security" , "NDS_ADVANCED_SECURITY" , "Premium Features" },
73
+ {"Private Endpoint" , "NDS_AWS_PRIVATE_ENDPOINT" , "Data Transfer" },
74
+ {"Cloud Manager" , "MMS_PREMIUM" , "Cloud Manager Standard/Premium" },
75
+ {"Stream Processing" , "NDS_AWS_STREAM_PROCESSING_INSTANCE_SP10" , "Atlas Stream Processing" },
76
+ {"App Services" , "REALM_APP_REQUESTS" , "App Services" },
77
+ {"Credits" , "CREDIT" , "Credits" },
78
+ {"Flex Consulting" , "MONGODB_FLEX_CONSULTING" , "Flex Consulting" },
79
+ {"Other category" , "UNKNOWN_SKU_TYPE" , "Other" },
80
+ {"Empty SKU" , "" , "Other" },
81
+ {"Overlapping patterns" , "NDS_AWS_SERVERLESS_STORAGE" , "Serverless Instances" },
82
+ {"Conflicting patterns" , "NDS_AZURE_DATA_LAKE_STORAGE" , "Atlas Data Federation" },
74
83
}
75
84
76
85
for _ , tc := range tests {
0 commit comments