Skip to content

Commit 027c36d

Browse files
authored
Merge pull request #8 from xebialabs-community/stopstart
Adding start and stop database tasks
2 parents b54b123 + a11deb5 commit 027c36d

File tree

5 files changed

+40
-23
lines changed

5 files changed

+40
-23
lines changed

src/main/resources/delphix/DelphixClient.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from delphixpy.web.database import database
1313
from delphixpy.web.selfservice import bookmark
1414
from delphixpy.web.selfservice import branch
15+
from delphixpy.web.source import source
1516

1617
from delphix.lib.DelphixSession import DelphixSession
1718
from delphix.lib.GetReferences import find_bookmark_ref
@@ -72,4 +73,10 @@ def delphix_syncdatabase(self, variables):
7273
return database.sync(self.engine, variables['vdb'], None)
7374

7475
def delphix_rollbackdatabase(self, variables):
75-
return database.rollback(self.engine, variables['vdb'], None)
76+
return database.rollback(self.engine, variables['vdb'], None)
77+
78+
def delphix_stopdatabase(self, variables):
79+
return source.stop(self.engine, variables['vdb'], None)
80+
81+
def delphix_startdatabase(self, variables):
82+
return source.start(self.engine, variables['vdb'], None)

src/main/resources/synthetic.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,13 @@
5555
<property name="vdb" category="input"/>
5656
</type>
5757

58+
<type type="delphix.stopkDatabase" extends="delphix.Task">
59+
<property name="vdb" category="input"/>
60+
</type>
61+
62+
<type type="delphix.startDatabase" extends="delphix.Task">
63+
<property name="vdb" category="input"/>
64+
</type>
65+
5866

5967
</synthetic>

src/main/resources/delphix/Stop.py renamed to src/test/jython/itests/Database_start_test.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,18 @@
88
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
99
#
1010

11-
if __name__ == '__main__':
12-
import sys
1311

14-
# sys.path.append('/Users/bmoussaud/Workspace/xebialabs-community/xlr-delphix-plugin/src/main/resources')
15-
sys.path.append('/u02/app/xebialabs/xlr-delphix-plugin/src/main/resources')
16-
# server = {'url': 'http://ba5b5824.ngrok.io', 'username': 'delphix_admin', 'password': 'landshark'}
17-
server = {'url': 'http://192.168.247.132', 'username': 'delphix_admin', 'password': 'landshark'}
18-
vdb = 'XEBIA'
1912

13+
import unittest
14+
from itests import DelphixServerCi
2015
from delphix.DelphixClient import DelphixClient
16+
from delphix.lib.DlpxException import DlpxException
2117

2218

23-
client = DelphixClient(server)
24-
output = client.stop(vdb)
25-
job = output['job']
26-
action = output['action']
19+
class StartDatabase(unittest.TestCase):
20+
21+
22+
def test_start_database(self):
23+
client = DelphixClient.create_client(DelphixServerCi())
24+
variables = {"vdb": "somevirtualdatabase" }
25+
client.delphix_startdatabase(variables)

src/main/resources/delphix/Start.py renamed to src/test/jython/itests/Database_stop_test.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@
88
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
99
#
1010

11-
if __name__ == '__main__':
12-
import sys
1311

14-
# sys.path.append('/Users/bmoussaud/Workspace/xebialabs-community/xlr-delphix-plugin/src/main/resources')
15-
sys.path.append('/u02/app/xebialabs/xlr-delphix-plugin/src/main/resources')
16-
# server = {'url': 'http://ba5b5824.ngrok.io', 'username': 'delphix_admin', 'password': 'landshark'}
17-
server = {'url': 'http://192.168.247.132', 'username': 'delphix_admin', 'password': 'landshark'}
18-
vdb = 'XEBIA'
1912

13+
import unittest
14+
from itests import DelphixServerCi
2015
from delphix.DelphixClient import DelphixClient
16+
from delphix.lib.DlpxException import DlpxException
2117

22-
client = DelphixClient(server)
23-
output = client.start(vdb)
24-
job = output['job']
25-
action = output['action']
18+
19+
class StopDatabase(unittest.TestCase):
20+
21+
22+
def test_stop_database(self):
23+
client = DelphixClient.create_client(DelphixServerCi())
24+
variables = {"vdb": "somevirtualdatabase" }
25+
client.delphix_stopdatabase(variables)

src/test/resources/docker/delphix/main.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ func main() {
2525

2626
router.HandleFunc("/resources/json/delphix/selfservice/bookmark", ReturnBookmarkResponse).Methods("GET")
2727
router.HandleFunc("/resources/json/delphix/selfservice/template", ReturnTemplateResponse).Methods("GET")
28+
29+
router.HandleFunc("/resources/json/delphix/source/{ref_id}/stop", ReturnDatabaseResponse).Methods("POST")
30+
router.HandleFunc("/resources/json/delphix/source/{ref_id}/start", ReturnDatabaseResponse).Methods("POST")
2831

2932

3033
router.HandleFunc("/resources/json/delphix/session", ReturnSessionResponse).Methods("POST")

0 commit comments

Comments
 (0)