Skip to content

Commit d0f6d43

Browse files
committed
@W-18129346 - Update tests
1 parent 816d369 commit d0f6d43

1 file changed

Lines changed: 34 additions & 23 deletions

File tree

cumulusci/tasks/preflight/tests/test_licenses.py

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,23 @@ class TestLicensePreflights:
1313
def test_license_preflight(self):
1414
task = create_task(GetAvailableLicenses, {})
1515
task._init_api = Mock()
16+
17+
# Mock license data with usage
1618
task._init_api.return_value.query.return_value = {
17-
"totalSize": 2,
19+
"totalSize": 3,
1820
"records": [
19-
{"LicenseDefinitionKey": "TEST1"},
20-
{"LicenseDefinitionKey": "TEST2"},
21+
{"LicenseDefinitionKey": "TEST1", "TotalLicenses": 100, "UsedLicenses": 50},
22+
{"LicenseDefinitionKey": "TEST2", "TotalLicenses": 10, "UsedLicenses": 10},
23+
{"LicenseDefinitionKey": "TEST3", "TotalLicenses": 20, "UsedLicenses": 15},
2124
],
2225
}
23-
task()
2426

27+
task()
2528
task._init_api.return_value.query.assert_called_once_with(
26-
"SELECT LicenseDefinitionKey FROM UserLicense"
29+
"SELECT Id, LicenseDefinitionKey, TotalLicenses, UsedLicenses FROM UserLicense WHERE Status = 'Active'"
2730
)
28-
assert task.return_values == ["TEST1", "TEST2"]
31+
# Only TEST1 and TEST3 have available licenses
32+
assert task.return_values == ["TEST1", "TEST3"]
2933

3034
def test_psl_preflight(self):
3135
task = create_task(GetAvailablePermissionSetLicenses, {})
@@ -47,25 +51,18 @@ def test_psl_preflight(self):
4751

4852
def test_assigned_permsetlicense_preflight(self):
4953
task = create_task(GetPermissionLicenseSetAssignments, {})
54+
task.org_config.user_id = "USER_ID"
5055
task._init_api = Mock()
56+
5157
task._init_api.return_value.query_all.return_value = {
5258
"totalSize": 2,
5359
"done": True,
5460
"records": [
55-
{
56-
"PermissionSetLicense": {
57-
"MasterLabel": "Document Checklist",
58-
"DeveloperName": "DocumentChecklist",
59-
},
60-
},
61-
{
62-
"PermissionSetLicense": {
63-
"MasterLabel": "Einstein Analytics Plus Admin",
64-
"DeveloperName": "EinsteinAnalyticsPlusAdmin",
65-
},
66-
},
61+
{"PermissionSetLicense": {"DeveloperName": "DocumentChecklist"}},
62+
{"PermissionSetLicense": {"DeveloperName": "EinsteinAnalyticsPlusAdmin"}},
6763
],
6864
}
65+
6966
task()
7067

7168
task._init_api.return_value.query_all.assert_called_once_with(
@@ -80,16 +77,30 @@ def test_permsets_preflight(self):
8077
task = create_task(GetAvailablePermissionSets, {})
8178
task._init_api = Mock()
8279

83-
task._init_api.return_value.query_all.return_value = {
80+
# Mock user licenses
81+
task._init_api.return_value.query.return_value = {
8482
"totalSize": 2,
8583
"records": [
86-
{"Name": "TEST1"},
87-
{"Name": "TEST2"},
84+
{"Id": "L1", "LicenseDefinitionKey": "Platform", "TotalLicenses": 100, "UsedLicenses": 90},
85+
{"Id": "L2", "LicenseDefinitionKey": "Force", "TotalLicenses": 50, "UsedLicenses": 50}, # fully used
8886
],
8987
}
90-
task()
9188

89+
# Mock permission sets
90+
task._init_api.return_value.query_all.return_value = {
91+
"totalSize": 3,
92+
"records": [
93+
{"Name": "TEST1", "LicenseId": None},
94+
{"Name": "TEST2", "LicenseId": "L1"}, # available
95+
{"Name": "TEST3", "LicenseId": "L2"}, # not available
96+
],
97+
}
98+
99+
task()
100+
task._init_api.return_value.query.assert_called_once_with(
101+
"SELECT Id, LicenseDefinitionKey, TotalLicenses, UsedLicenses FROM UserLicense WHERE Status = 'Active'"
102+
)
92103
task._init_api.return_value.query_all.assert_called_once_with(
93-
"SELECT Name FROM PermissionSet"
104+
"SELECT LicenseId, Name FROM PermissionSet"
94105
)
95106
assert task.return_values == ["TEST1", "TEST2"]

0 commit comments

Comments
 (0)