|
22 | 22 | PUBLISH_XML = 'datasource_publish.xml'
|
23 | 23 | PUBLISH_XML_ASYNC = 'datasource_publish_async.xml'
|
24 | 24 | REFRESH_XML = 'datasource_refresh.xml'
|
| 25 | +REVISION_XML = 'datasource_revision.xml' |
25 | 26 | UPDATE_XML = 'datasource_update.xml'
|
26 | 27 | UPDATE_HYPER_DATA_XML = 'datasource_data_update.xml'
|
27 | 28 | UPDATE_CONNECTION_XML = 'datasource_connection_update.xml'
|
@@ -600,3 +601,44 @@ def test_create_extracts_encrypted(self) -> None:
|
600 | 601 | m.post(self.baseurl + '/3cc6cd06-89ce-4fdc-b935-5294135d6d42/createExtract',
|
601 | 602 | status_code=200, text=response_xml)
|
602 | 603 | self.server.datasources.create_extract('3cc6cd06-89ce-4fdc-b935-5294135d6d42', True)
|
| 604 | + |
| 605 | + def test_revisions(self) -> None: |
| 606 | + self.baseurl = self.server.datasources.baseurl |
| 607 | + datasource = TSC.DatasourceItem('project', 'test') |
| 608 | + datasource._id = '06b944d2-959d-4604-9305-12323c95e70e' |
| 609 | + |
| 610 | + response_xml = read_xml_asset(REVISION_XML) |
| 611 | + with requests_mock.mock() as m: |
| 612 | + m.get("{0}/{1}/revisions".format(self.baseurl, datasource.id), text=response_xml) |
| 613 | + self.server.datasources.populate_revisions(datasource) |
| 614 | + revisions = datasource.revisions |
| 615 | + |
| 616 | + self.assertEqual(len(revisions), 3) |
| 617 | + self.assertEqual("2016-07-26T20:34:56Z", format_datetime(revisions[0].created_at)) |
| 618 | + self.assertEqual("2016-07-27T20:34:56Z", format_datetime(revisions[1].created_at)) |
| 619 | + self.assertEqual("2016-07-28T20:34:56Z", format_datetime(revisions[2].created_at)) |
| 620 | + |
| 621 | + self.assertEqual(False, revisions[0].deleted) |
| 622 | + self.assertEqual(False, revisions[0].current) |
| 623 | + self.assertEqual(False, revisions[1].deleted) |
| 624 | + self.assertEqual(False, revisions[1].current) |
| 625 | + self.assertEqual(False, revisions[2].deleted) |
| 626 | + self.assertEqual(True, revisions[2].current) |
| 627 | + |
| 628 | + self.assertEqual("Cassie", revisions[0].user_name) |
| 629 | + self.assertEqual("5de011f8-5aa9-4d5b-b991-f462c8dd6bb7", revisions[0].user_id) |
| 630 | + self.assertIsNone(revisions[1].user_name) |
| 631 | + self.assertIsNone(revisions[1].user_id) |
| 632 | + self.assertEqual("Cassie", revisions[2].user_name) |
| 633 | + self.assertEqual("5de011f8-5aa9-4d5b-b991-f462c8dd6bb7", revisions[2].user_id) |
| 634 | + |
| 635 | + def test_delete_revision(self): |
| 636 | + self.baseurl = self.server.datasources.baseurl |
| 637 | + datasource = TSC.DatasourceItem('project', 'test') |
| 638 | + datasource._id = '06b944d2-959d-4604-9305-12323c95e70e' |
| 639 | + |
| 640 | + with requests_mock.mock() as m: |
| 641 | + m.delete("{0}/{1}/revisions/3".format(self.baseurl, datasource.id)) |
| 642 | + self.server.datasources.delete_revision(datasource.id, "3") |
| 643 | + |
| 644 | + |
0 commit comments