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.assertEquals(request1 == request2, False) self.assertEquals(request1.difference(request2), difference)
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.assertEquals(request1 == request2, False) self.assertEquals(request1.difference(request2), difference)
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_simple_no_difference(self): value1 = { 'foo': 'bar', 'test': 'original' } request = GcpRequest(value1) self.assertEquals(request, request)
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.assertEquals(request1.difference(request2), difference)
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.assertEquals(request1 == request2, False) self.assertEquals(request1.difference(request2), difference)
def test_arrays_strings_no_difference(self): value1 = { 'foo': [ 'baz', 'bar' ] } request = GcpRequest(value1) self.assertEquals(request, request)
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.assertEquals(request1.difference(request2), difference)
def test_arrays_dicts_with_no_difference(self): value1 = { 'foo': [{ 'test': 'value', 'foo': 'bar' }, { 'different': 'dict' }] } request = GcpRequest(value1) self.assertEquals(request, request)
def test_nested_dictionaries_no_difference(self): value1 = { 'foo': { 'quiet': { 'tree': 'test' }, 'bar': 'baz' }, 'test': 'original' } request = GcpRequest(value1) self.assertEquals(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.assertEquals(request1.difference(request2), difference)
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.assertEquals(request1 == request2, False) self.assertEquals(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.assertEquals(request1.difference(request2), difference)
def test_unsorted_dictionaries(self): value1 = {'foo': [{'bar': 'foo'}, {'test': 'bar'}]} value2 = {'foo': [{'test': 'bar'}, {'bar': 'foo', 'baz': 'bar'}]} request1 = GcpRequest(value1) request2 = GcpRequest(value2) self.assertEquals(request1 == request2, True)
def test_unsorted_string_arrays(self): value1 = {'foo': ['aaa', 'bbb']} value2 = {'foo': ['bbb', 'aaa']} request1 = GcpRequest(value1) request2 = GcpRequest(value2) self.assertEquals(request1 == request2, True)