Hey guys, I'm new to Pulumi and Python, so please ...
# python
s
Hey guys, I'm new to Pulumi and Python, so please excuse my question, if it is very simplistic. I have a resource component which has a dict of pulumi objects created and I am asserting the outputs in a unit test. This code does work, but I was wondering if there was a better way to do it?
Copy code
@pulumi.runtime.test
  def test_policy_assignment_created(self):
      available_assignments = AvailableAssignments(assignments_json=self.object_mother.get_assignments_json())
      
      sut = PolicyAssignmentComponent(self.policy_assignments_model, available_assignments, self.opts)
  
      def check_policy_assignment(args):
          management_group_name, policy_assignment_objects = args
          
          assert management_group_name == self.policy_assignments_model.management_group_name
          assert len(policy_assignment_objects) == self.object_mother.get_assignments_json_count()

          def assert_policy_properties(args):
            id, enforcement_mode, location, policy_definition_id  = args

            expected_policy_assignment = self.object_mother.get_policy_assignment_by_policy_def_id(
              policy_def_id=policy_definition_id
            )
            
            expected_id = f"{management_group_name}-{expected_policy_assignment.name}_id"
            
            assert expected_id == id
            assert enforcement_mode == expected_policy_assignment.enforcementMode
            assert location == expected_policy_assignment.location
            assert policy_definition_id == expected_policy_assignment.policy_definition_id
          
          for policy_assignment_object in policy_assignment_objects:
            pulumi.Output.all(
              policy_assignment_object.id,
              policy_assignment_object.enforcement_mode,
              policy_assignment_object.location,
              policy_assignment_object.policy_definition_id,
            ).apply(assert_policy_properties)

      return pulumi.Output.all(sut.management_group_name, sut.policy_assignment_objects).apply(check_policy_assignment)