|
6 | 6 |
|
7 | 7 | TEST_ASSET_DIR = os.path.join(os.path.dirname(__file__), 'assets') |
8 | 8 |
|
| 9 | +ADD_TAGS_XML = os.path.join(TEST_ASSET_DIR, 'datasource_add_tags.xml') |
9 | 10 | GET_XML = os.path.join(TEST_ASSET_DIR, 'datasource_get.xml') |
10 | 11 | GET_EMPTY_XML = os.path.join(TEST_ASSET_DIR, 'datasource_get_empty.xml') |
11 | 12 | GET_BY_ID_XML = os.path.join(TEST_ASSET_DIR, 'datasource_get_by_id.xml') |
12 | | -UPDATE_XML = os.path.join(TEST_ASSET_DIR, 'datasource_update.xml') |
13 | 13 | PUBLISH_XML = os.path.join(TEST_ASSET_DIR, 'datasource_publish.xml') |
14 | | - |
| 14 | +UPDATE_XML = os.path.join(TEST_ASSET_DIR, 'datasource_update.xml') |
15 | 15 |
|
16 | 16 | class DatasourceTests(unittest.TestCase): |
17 | 17 | def setUp(self): |
@@ -105,13 +105,31 @@ def test_update_copy_fields(self): |
105 | 105 | m.put(self.baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb', text=response_xml) |
106 | 106 | single_datasource = TSC.DatasourceItem('test', '1d0304cd-3796-429f-b815-7258370b9b74') |
107 | 107 | single_datasource._id = '9dbd2263-16b5-46e1-9c43-a76bb8ab65fb' |
108 | | - single_datasource._tags = ['a', 'b', 'c'] |
109 | 108 | single_datasource._project_name = 'Tester' |
110 | 109 | updated_datasource = self.server.datasources.update(single_datasource) |
111 | 110 |
|
112 | 111 | self.assertEqual(single_datasource.tags, updated_datasource.tags) |
113 | 112 | self.assertEqual(single_datasource._project_name, updated_datasource._project_name) |
114 | 113 |
|
| 114 | + def test_update_tags(self): |
| 115 | + with open(ADD_TAGS_XML, 'rb') as f: |
| 116 | + add_tags_xml = f.read().decode('utf-8') |
| 117 | + with open(UPDATE_XML, 'rb') as f: |
| 118 | + update_xml = f.read().decode('utf-8') |
| 119 | + with requests_mock.mock() as m: |
| 120 | + m.put(self.baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/tags', text=add_tags_xml) |
| 121 | + m.delete(self.baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/tags/b', status_code=204) |
| 122 | + m.delete(self.baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb/tags/d', status_code=204) |
| 123 | + m.put(self.baseurl + '/9dbd2263-16b5-46e1-9c43-a76bb8ab65fb', text=update_xml) |
| 124 | + single_datasource = TSC.DatasourceItem('1d0304cd-3796-429f-b815-7258370b9b74') |
| 125 | + single_datasource._id = '9dbd2263-16b5-46e1-9c43-a76bb8ab65fb' |
| 126 | + single_datasource._initial_tags.update(['a', 'b', 'c', 'd']) |
| 127 | + single_datasource.tags.update(['a', 'c', 'e']) |
| 128 | + updated_datasource = self.server.datasources.update(single_datasource) |
| 129 | + |
| 130 | + self.assertEqual(single_datasource.tags, updated_datasource.tags) |
| 131 | + self.assertEqual(single_datasource._initial_tags, updated_datasource._initial_tags) |
| 132 | + |
115 | 133 | def test_publish(self): |
116 | 134 | with open(PUBLISH_XML, 'rb') as f: |
117 | 135 | response_xml = f.read().decode('utf-8') |
|
0 commit comments