def test_simple_different(self): value1 = {'foo': 'bar', 'test': 'original'} value2 = {'foo': 'bar', 'test': 'different'} difference = {'test': 'original'} request1 = GcpRequest(value1) request2 = GcpRequest(value2) self.assertNotEquals(request1, request2) self.assertEqual(request1.difference(request2), difference)
def run(self): # GcpRequest handles unicode text handling if GcpRequest({'status': self.current_status }) == GcpRequest({'status': self.desired_status}): return elif self.desired_status == 'PAUSED': self.stop() elif self.desired_status == 'RUNNING': self.start()
def is_different(module, response): request = resource_to_request(module) response = response_to_hash(module, response) # Remove all output-only from response. response_vals = {} for k, v in response.items(): if k in request: response_vals[k] = v request_vals = {} for k, v in request.items(): if k in response: request_vals[k] = v return GcpRequest(request_vals) != GcpRequest(response_vals)
def test_arrays_strings_with_difference(self): value1 = { 'foo': [ 'baz', 'bar', ] } value2 = {'foo': ['baz', 'hello']} difference = { 'foo': [ 'bar', ] } request1 = GcpRequest(value1) request2 = GcpRequest(value2) self.assertNotEquals(request1, request2) self.assertEqual(request1.difference(request2), difference)
def test_arrays_dicts_with_no_difference(self): value1 = { 'foo': [{ 'test': 'value', 'foo': 'bar' }, { 'different': 'dict' }] } request = GcpRequest(value1) self.assertEqual(request, request)
def test_nested_dictionaries_no_difference(self): value1 = { 'foo': { 'quiet': { 'tree': 'test' }, 'bar': 'baz' }, 'test': 'original' } request = GcpRequest(value1) self.assertEqual(request, request)
def test_arrays_dicts_with_difference(self): value1 = { 'foo': [{ 'test': 'value', 'foo': 'bar' }, { 'different': 'dict' }] } value2 = { 'foo': [ { 'test': 'value2', 'foo': 'bar2' }, ] } difference = {'foo': [{'test': 'value', 'foo': 'bar'}]} request1 = GcpRequest(value1) request2 = GcpRequest(value2) self.assertNotEquals(request1, request2) self.assertEqual(request1.difference(request2), difference)
def test_nested_dictionaries_with_difference(self): value1 = { 'foo': { 'quiet': { 'tree': 'test' }, 'bar': 'baz' }, 'test': 'original' } value2 = { 'foo': { 'quiet': { 'tree': 'baz' }, 'bar': 'hello' }, 'test': 'original' } difference = {'foo': {'quiet': {'tree': 'test'}, 'bar': 'baz'}} request1 = GcpRequest(value1) request2 = GcpRequest(value2) self.assertNotEquals(request1, request2) self.assertEqual(request1.difference(request2), difference)
def test_simple_no_difference(self): value1 = {'foo': 'bar', 'test': 'original'} request = GcpRequest(value1) self.assertEqual(request, request)
def test_arrays_strings_no_difference(self): value1 = {'foo': ['baz', 'bar']} request = GcpRequest(value1) self.assertEqual(request, request)