redfish-interop-validator 2.2.9__tar.gz → 2.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {redfish_interop_validator-2.2.9/redfish_interop_validator.egg-info → redfish_interop_validator-2.3.1}/PKG-INFO +3 -2
  2. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/RedfishInteropValidator.py +1 -1
  3. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/interop.py +12 -14
  4. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/profile.py +1 -1
  5. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1/redfish_interop_validator.egg-info}/PKG-INFO +3 -2
  6. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/setup.py +1 -1
  7. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/AUTHORS.md +0 -0
  8. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/LICENSE.md +0 -0
  9. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/README.md +0 -0
  10. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/RedfishLogo.py +0 -0
  11. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/__init__.py +0 -0
  12. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/config.py +0 -0
  13. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/redfish.py +0 -0
  14. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/session.py +0 -0
  15. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/tohtml.py +0 -0
  16. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/traverseInterop.py +0 -0
  17. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator/validateResource.py +0 -0
  18. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator.egg-info/SOURCES.txt +0 -0
  19. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator.egg-info/dependency_links.txt +0 -0
  20. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator.egg-info/entry_points.txt +0 -0
  21. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator.egg-info/requires.txt +0 -0
  22. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/redfish_interop_validator.egg-info/top_level.txt +0 -0
  23. {redfish_interop_validator-2.2.9 → redfish_interop_validator-2.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: redfish_interop_validator
3
- Version: 2.2.9
3
+ Version: 2.3.1
4
4
  Summary: Redfish Interop Validator
5
5
  Home-page: https://github.com/DMTF/Redfish-Interop-Validator
6
6
  Author: DMTF, https://www.dmtf.org/standards/feedback
@@ -24,6 +24,7 @@ Dynamic: description-content-type
24
24
  Dynamic: home-page
25
25
  Dynamic: keywords
26
26
  Dynamic: license
27
+ Dynamic: license-file
27
28
  Dynamic: requires-dist
28
29
  Dynamic: summary
29
30
 
@@ -17,7 +17,7 @@ import redfish_interop_validator.traverseInterop as traverseInterop
17
17
  from redfish_interop_validator.profile import getProfiles, checkProfileAgainstSchema, hashProfile
18
18
  from redfish_interop_validator.validateResource import validateSingleURI, validateURITree
19
19
 
20
- tool_version = '2.2.9'
20
+ tool_version = '2.3.1'
21
21
 
22
22
  # Set up the custom debug levels
23
23
  VERBOSE1 = logging.INFO - 1
@@ -67,11 +67,11 @@ def validateComparisonAnyOfAllOf(profile_entry, property_path="Unspecified"):
67
67
  top_msg = msgInterop(msg_name, my_compare, expected_values, my_values, False)
68
68
  all_msgs.append(top_msg)
69
69
 
70
- # NOPASS by default, if the check fails but the value is still in the array
71
- # OK if passing, FAIL if check fails and value is not in array
70
+ # OK if value does not contribute
71
+ # PASS if value contributes
72
72
  for msg in my_msgs:
73
73
  msg.ignore = False
74
- msg.success = testResultEnum.NOPASS
74
+ msg.success = testResultEnum.OK
75
75
  msg.expected = '{} {} ({})'.format(msg.expected, expected_values, "Across All Resources")
76
76
 
77
77
  if my_compare == 'AnyOf':
@@ -79,25 +79,23 @@ def validateComparisonAnyOfAllOf(profile_entry, property_path="Unspecified"):
79
79
  my_logger.info(' PASS')
80
80
  top_msg.success = testResultEnum.PASS
81
81
  for msg in my_msgs:
82
- msg.success = testResultEnum.OK
83
82
  if msg.actual in expected_values:
84
83
  msg.success = testResultEnum.PASS
85
84
  else:
86
85
  my_logger.info(' FAIL')
87
- for msg in my_msgs:
88
- msg.success = testResultEnum.FAIL
89
86
 
90
87
  if my_compare == 'AllOf':
91
88
  if all([x in my_values for x in expected_values]):
92
89
  my_logger.info(' PASS')
93
90
  top_msg.success = testResultEnum.PASS
94
91
  for msg in my_msgs:
95
- msg.success = testResultEnum.OK
92
+ if msg.actual in expected_values:
93
+ msg.success = testResultEnum.PASS
96
94
  else:
97
95
  my_logger.info(' FAIL')
98
96
  for msg in my_msgs:
99
- if msg.actual not in expected_values:
100
- msg.success = testResultEnum.FAIL
97
+ if msg.actual in expected_values:
98
+ msg.success = testResultEnum.PASS
101
99
 
102
100
  if property_profile.get('PropertyRequirements'):
103
101
  new_msgs = validateComparisonAnyOfAllOf(property_profile.get('PropertyRequirements'), '.'.join([property_path, key]))
@@ -764,18 +762,18 @@ def validateActionRequirement(profile_entry, rf_payload_tuple, actionname):
764
762
  return msgs, counts
765
763
 
766
764
 
767
- URI_ID_REGEX = '\{[A-Za-z0-9]*Id\}'
765
+ URI_ID_REGEX = '\{[A-Za-z0-9]+\}'
768
766
 
769
- VALID_ID_REGEX = '([A-Za-z0-9.!#$&-;=?\[\]_~])+'
767
+ VALID_ID_REGEX = '[A-Za-z0-9.!#$&-;=?\[\]_~]+'
770
768
 
771
769
 
772
770
  def compareRedfishURI(expected_uris, uri):
773
771
  success = False
774
772
  # If we have our URIs
775
773
  if expected_uris is not None:
776
- my_uri_regex = "^{}$".format("|".join(expected_uris))
777
- my_uri_regex = re.sub(URI_ID_REGEX, VALID_ID_REGEX, my_uri_regex)
778
- success = re.fullmatch(my_uri_regex, uri) is not None
774
+ regex_pattern = "^{}$".format("|".join(expected_uris))
775
+ regex_pattern = re.sub(URI_ID_REGEX, VALID_ID_REGEX, regex_pattern)
776
+ success = re.fullmatch(regex_pattern, uri) is not None
779
777
  else:
780
778
  success = True
781
779
  return success
@@ -176,7 +176,7 @@ def getProfiles(profile, directories, chain=None, online=False):
176
176
  required_by_resource.extend(inner_reqs)
177
177
 
178
178
  # Process all RequiredResourceProfile by modifying profiles
179
- profile_resources = profile.get('Resources')
179
+ profile_resources = profile.get('Resources', {})
180
180
 
181
181
  for resource_name, resource in profile_resources.items():
182
182
  # Modify just the resource or its UseCases. Should not have concurrent UseCases and RequiredResourceProfile in Resource
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: redfish_interop_validator
3
- Version: 2.2.9
3
+ Version: 2.3.1
4
4
  Summary: Redfish Interop Validator
5
5
  Home-page: https://github.com/DMTF/Redfish-Interop-Validator
6
6
  Author: DMTF, https://www.dmtf.org/standards/feedback
@@ -24,6 +24,7 @@ Dynamic: description-content-type
24
24
  Dynamic: home-page
25
25
  Dynamic: keywords
26
26
  Dynamic: license
27
+ Dynamic: license-file
27
28
  Dynamic: requires-dist
28
29
  Dynamic: summary
29
30
 
@@ -11,7 +11,7 @@ with open("README.md", "r", "utf-8") as f:
11
11
 
12
12
  setup(
13
13
  name="redfish_interop_validator",
14
- version="2.2.9",
14
+ version="2.3.1",
15
15
  description="Redfish Interop Validator",
16
16
  long_description=long_description,
17
17
  long_description_content_type="text/markdown",