summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Wong <duperduper@ucla.edu>2014-09-13 13:35:49 -0700
committerVincent Wong <duperduper@ucla.edu>2014-09-13 13:35:49 -0700
commit2a8c5729e917d4161ea90cab950408131b851b36 (patch)
treef9d1d384648ec7bb2cf2cfb03b0d172463eadfe6
parentc269cbe996d28fef383ab7a5dbb0b1ae6b0015af (diff)
downloadboto-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.py65
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()