diff options
author | Vincent Wong <duperduper@ucla.edu> | 2014-09-13 13:35:49 -0700 |
---|---|---|
committer | Vincent Wong <duperduper@ucla.edu> | 2014-09-13 13:35:49 -0700 |
commit | 2a8c5729e917d4161ea90cab950408131b851b36 (patch) | |
tree | f9d1d384648ec7bb2cf2cfb03b0d172463eadfe6 | |
parent | c269cbe996d28fef383ab7a5dbb0b1ae6b0015af (diff) | |
download | boto-2a8c5729e917d4161ea90cab950408131b851b36.tar.gz |
Added tests for TaggedEC2Object.remove_tags
There are 3 tests: test_remove_tags simply makes sure multiple tags are deleted
in one request. test_remove_tags_wrong_values makes sure tags that are provided
wrong values are not deleted. test_remove_tags_none_values make sure that tags
provided with None values are unconditionally deleted.
-rw-r--r-- | tests/unit/ec2/test_ec2object.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/unit/ec2/test_ec2object.py b/tests/unit/ec2/test_ec2object.py index 5664c1bc..14841e91 100644 --- a/tests/unit/ec2/test_ec2object.py +++ b/tests/unit/ec2/test_ec2object.py @@ -141,6 +141,71 @@ class TestRemoveTags(AWSMockServiceTestCase): self.assertEqual(taggedEC2Object.tags, {"key1": "value1", "key2": "value2"}) + def test_remove_tags(self): + self.set_http_response(status_code=200) + taggedEC2Object = TaggedEC2Object(self.service_connection) + taggedEC2Object.id = "i-abcd1234" + taggedEC2Object.tags["key1"] = "value1" + taggedEC2Object.tags["key2"] = "value2" + + taggedEC2Object.remove_tags({"key1": "value1", "key2": "value2"}) + + self.assert_request_parameters({ + 'ResourceId.1': 'i-abcd1234', + 'Action': 'DeleteTags', + 'Tag.1.Key': 'key1', + 'Tag.1.Value': 'value1', + 'Tag.2.Key': 'key2', + 'Tag.2.Value': 'value2'}, + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', + 'SignatureVersion', 'Timestamp', + 'Version']) + + self.assertEqual(taggedEC2Object.tags, {}) + + def test_remove_tags_wrong_values(self): + self.set_http_response(status_code=200) + taggedEC2Object = TaggedEC2Object(self.service_connection) + taggedEC2Object.id = "i-abcd1234" + taggedEC2Object.tags["key1"] = "value1" + taggedEC2Object.tags["key2"] = "value2" + + taggedEC2Object.remove_tags({"key1": "value1", "key2": "value3"}) + + self.assert_request_parameters({ + 'ResourceId.1': 'i-abcd1234', + 'Action': 'DeleteTags', + 'Tag.1.Key': 'key1', + 'Tag.1.Value': 'value1', + 'Tag.2.Key': 'key2', + 'Tag.2.Value': 'value3'}, + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', + 'SignatureVersion', 'Timestamp', + 'Version']) + + self.assertEqual(taggedEC2Object.tags, {"key2": "value2"}) + + def test_remove_tags_none_values(self): + self.set_http_response(status_code=200) + taggedEC2Object = TaggedEC2Object(self.service_connection) + taggedEC2Object.id = "i-abcd1234" + taggedEC2Object.tags["key1"] = "value1" + taggedEC2Object.tags["key2"] = "value2" + + taggedEC2Object.remove_tags({"key1": "value1", "key2": None}) + + self.assert_request_parameters({ + 'ResourceId.1': 'i-abcd1234', + 'Action': 'DeleteTags', + 'Tag.1.Key': 'key1', + 'Tag.1.Value': 'value1', + 'Tag.2.Key': 'key2'}, + ignore_params_values=['AWSAccessKeyId', 'SignatureMethod', + 'SignatureVersion', 'Timestamp', + 'Version']) + + self.assertEqual(taggedEC2Object.tags, {}) + if __name__ == '__main__': unittest.main() |