Example #1
0
 def test_error_on_missing_entitlement_type(self):
     """Raise an error when neither dict contains entitlement type."""
     error_msg = ('Could not determine contract delta service type %s %s' %
                  ({}, {'something': 'non-empty'}))
     with pytest.raises(RuntimeError) as exc:
         process_entitlement_delta({}, {'something': 'non-empty'})
     assert error_msg == str(exc.value)
Example #2
0
 def test_error_on_missing_entitlement_type(self):
     """Raise an error when neither dict contains entitlement type."""
     new_access = {"entitlement": {"something": "non-empty"}}
     error_msg = ("Could not determine contract delta service type"
                  " {{}} {}".format(new_access))
     with pytest.raises(RuntimeError) as exc:
         process_entitlement_delta({}, new_access)
     assert error_msg == str(exc.value)
 def test_error_on_missing_entitlement_type(self, FakeConfig):
     """Raise an error when neither dict contains entitlement type."""
     new_access = {"entitlement": {"something": "non-empty"}}
     error_msg = ("Could not determine contract delta service type"
                  " {{}} {}".format(new_access))
     with pytest.raises(exceptions.UserFacingError) as exc:
         process_entitlement_delta(cfg=FakeConfig(),
                                   orig_access={},
                                   new_access=new_access)
     assert error_msg == str(exc.value.msg)
Example #4
0
    def test_overrides_applied_before_comparison(
        self, m_process_contract_deltas, _
    ):
        old_access = {"entitlement": {"type": "esm", "some_key": "some_value"}}
        new_access = {
            "entitlement": {
                "type": "esm",
                "some_key": "will be overridden",
                "series": {"fake_series": {"some_key": "some_value"}},
            }
        }

        process_entitlement_delta(old_access, new_access)

        assert 0 == m_process_contract_deltas.call_count
Example #5
0
 def test_no_delta_on_equal_dicts(self):
     """No deltas are reported or processed when dicts are equal."""
     assert {} == process_entitlement_delta({"entitlement": {
         "no": "diff"
     }}, {"entitlement": {
         "no": "diff"
     }})
Example #6
0
 def test_full_delta_on_empty_orig_dict(self, m_process_contract_deltas):
     """Process and report full deltas on empty original access dict."""
     # Limit delta processing logic to handle attached state-A to state-B
     # Fresh installs will have empty/unset
     new_access = {"entitlement": {"type": "esm-infra", "other": "val2"}}
     assert new_access == process_entitlement_delta({}, new_access)
     expected_calls = [mock.call({}, new_access, allow_enable=False)]
     assert expected_calls == m_process_contract_deltas.call_args_list
 def test_no_delta_on_equal_dicts(self, FakeConfig):
     """No deltas are reported or processed when dicts are equal."""
     assert ({}, False) == process_entitlement_delta(
         cfg=FakeConfig(),
         orig_access={"entitlement": {
             "no": "diff"
         }},
         new_access={"entitlement": {
             "no": "diff"
         }},
     )
Example #8
0
 def test_deltas_handled_by_entitlement_process_contract_deltas(
         self, m_process_contract_deltas):
     """Call entitlement.process_contract_deltas to handle any deltas."""
     original_access = {'entitlement': {'type': 'esm'}}
     new_access = copy.deepcopy(original_access)
     new_access['entitlement']['newkey'] = 'newvalue'
     expected = {'entitlement': {'newkey': 'newvalue'}}
     assert expected == process_entitlement_delta(
         original_access, new_access)
     expected_calls = [
         mock.call(original_access, expected, allow_enable=False)]
     assert expected_calls == m_process_contract_deltas.call_args_list
Example #9
0
 def test_deltas_handled_by_entitlement_process_contract_deltas(
         self, m_process_contract_deltas):
     """Call entitlement.process_contract_deltas to handle any deltas."""
     original_access = {"entitlement": {"type": "esm-infra"}}
     new_access = copy.deepcopy(original_access)
     new_access["entitlement"]["newkey"] = "newvalue"
     expected = {"entitlement": {"newkey": "newvalue"}}
     assert expected == process_entitlement_delta(original_access,
                                                  new_access)
     expected_calls = [
         mock.call(original_access, expected, allow_enable=False)
     ]
     assert expected_calls == m_process_contract_deltas.call_args_list
 def test_deltas_handled_by_entitlement_process_contract_deltas(
         self, m_process_contract_deltas, FakeConfig):
     """Call entitlement.process_contract_deltas to handle any deltas."""
     m_process_contract_deltas.return_value = True
     original_access = {"entitlement": {"type": "esm-infra"}}
     new_access = copy.deepcopy(original_access)
     new_access["entitlement"]["newkey"] = "newvalue"
     expected = {"entitlement": {"newkey": "newvalue"}}
     assert (expected, True) == process_entitlement_delta(
         cfg=FakeConfig(),
         orig_access=original_access,
         new_access=new_access,
     )
     expected_calls = [
         mock.call(original_access, expected, allow_enable=False)
     ]
     assert expected_calls == m_process_contract_deltas.call_args_list
Example #11
0
 def test_no_delta_on_equal_dicts(self):
     """No deltas are reported or processed when dicts are equal."""
     assert {} == process_entitlement_delta({'no': 'diff'}, {'no': 'diff'})