def test__meta_data_state(self): r = Resource(mock.MagicMock()) r._meta_data['allowed_lazy_attributes'] = [] r._meta_data['uri'] = 'URI' r._meta_data['bigip']._meta_data['icr_session'].get.return_value =\ MockResponse({u"generation": 0}) r._meta_data['bigip']._meta_data['icr_session'].put.return_value =\ MockResponse({u"generation": 0}) r.generation = 0 pre_meta = r._meta_data.copy() r.update(a=u"b") assert pre_meta == r._meta_data
def test__check_generation_with_mismatch(self): r = Resource(mock.MagicMock()) r._meta_data['allowed_lazy_attributes'] = [] r._meta_data['uri'] = 'URI' r._meta_data['bigip']._meta_data['icr_session'].get.return_value =\ MockResponse({u"generation": 0}) r.generation = 1 with pytest.raises(GenerationMismatch) as GMEIO: r.update(a=u"b") assert GMEIO.value.message ==\ 'The generation of the object on the BigIP (0)'\ ' does not match the current object(1)'
def test_Collection_removal(self): r = Resource(mock.MagicMock()) r._meta_data['allowed_lazy_attributes'] = [] r._meta_data['uri'] = 'URI' attrs = {'put.return_value': MockResponse({u"generation": 0}), 'get.return_value': MockResponse({u"generation": 0})} mock_session = mock.MagicMock(**attrs) r._meta_data['bigip']._meta_data = {'icr_session': mock_session} r.generation = 0 r.contained = Collection(mock.MagicMock()) assert 'contained' in r.__dict__ r.update(a=u"b") submitted = r._meta_data['bigip'].\ _meta_data['icr_session'].put.call_args[1]['json'] assert 'contained' not in submitted
def test_read_only_removal(self): r = Resource(mock.MagicMock()) r._meta_data['allowed_lazy_attributes'] = [] r._meta_data['uri'] = 'URI' r._meta_data['read_only_attributes'] = [u"READONLY"] attrs = {'put.return_value': MockResponse({u"generation": 0}), 'get.return_value': MockResponse({u"generation": 0})} mock_session = mock.MagicMock(**attrs) r._meta_data['bigip']._meta_data = {'icr_session': mock_session} r.generation = 0 r.READONLY = True assert 'READONLY' in r.__dict__ r.update(a=u"b") submitted = r._meta_data['bigip'].\ _meta_data['icr_session'].put.call_args[1]['json'] assert 'READONLY' not in submitted
def test_Collection_removal(self): r = Resource(mock.MagicMock()) r._meta_data['allowed_lazy_attributes'] = [] r._meta_data['uri'] = 'URI' attrs = { 'put.return_value': MockResponse({u"generation": 0}), 'get.return_value': MockResponse({u"generation": 0}) } mock_session = mock.MagicMock(**attrs) r._meta_data['bigip']._meta_data = {'icr_session': mock_session} r.generation = 0 r.contained = Collection(mock.MagicMock()) assert 'contained' in r.__dict__ r.update(a=u"b") submitted = r._meta_data['bigip'].\ _meta_data['icr_session'].put.call_args[1]['json'] assert 'contained' not in submitted
def test_read_only_removal(self): r = Resource(mock.MagicMock()) r._meta_data['allowed_lazy_attributes'] = [] r._meta_data['uri'] = 'URI' r._meta_data['read_only_attributes'] = [u"READONLY"] attrs = { 'put.return_value': MockResponse({u"generation": 0}), 'get.return_value': MockResponse({u"generation": 0}) } mock_session = mock.MagicMock(**attrs) r._meta_data['bigip']._meta_data = {'icr_session': mock_session} r.generation = 0 r.READONLY = True assert 'READONLY' in r.__dict__ r.update(a=u"b") submitted = r._meta_data['bigip'].\ _meta_data['icr_session'].put.call_args[1]['json'] assert 'READONLY' not in submitted