Skip to content

Commit 6ba0faa

Browse files
authored
Guohui (#46)
* update for tests * job changes * job edits and data source consistency changes. * extra job changes, hadn't saved the file * user page edits/updates and 1 bug fix * Singularize the sidebar items per slack w/ Josh+Brittney * fix buggy page refs * fix asterisks * edit and update apiclient page * fix workflow variables with quote * fix workflow variables with quote * fix test failures * fix test failures
1 parent db2666a commit 6ba0faa

File tree

7 files changed

+101
-9
lines changed

7 files changed

+101
-9
lines changed

alpine/workfile.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,7 @@ def run(self, workflow_id, variables=None):
377377
"expected keys 'name' and 'value'.".format(variable))
378378

379379
workflow_variables = '{{"meta": {{"version": 1}}, "variables": {0}}}' \
380-
.format(variables) \
381-
.replace("\'", "\"")
380+
.format(json.dumps(variables))
382381

383382
response = self.session.post(url, data=workflow_variables, params=querystring, timeout=30)
384383

tests/api/alpineunittest.py

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,51 @@
1+
import os.path
12
from unittest import TestCase
3+
try:
4+
# For Python 3.3 and later
5+
from unittest.mock import patch
6+
except ImportError:
7+
from mock import patch
8+
try:
9+
# For Python 3.0 and later
10+
from urllib.parse import urlparse
11+
from urllib.parse import urljoin
12+
except ImportError:
13+
# Fall back to Python 2.7
14+
from urlparse import urlparse
15+
from urlparse import urljoin
16+
from alpine import APIClient
217

318

419
class AlpineTestCase(TestCase):
520

621
def setUp(self):
7-
self.host = "10.10.0.204"
22+
self.host = "10.0.0.205"
823
self.port = "8080"
924
self.regex_alpine_version_string = "6.3.*"
1025
self.username = "demoadmin"
11-
self.password = "password"
26+
self.password = "4*DemoAdmin"
1227

1328
def tearDown(self):
1429
pass
1530

31+
@classmethod
32+
def setUpClass(cls):
33+
print("Test Class setup")
34+
35+
@classmethod
36+
def tearDownClass(cls):
37+
print("Test Class teardown")
38+
39+
def fake_urlopen(request):
40+
"""
41+
A stub urlopen() implementation that load json responses from
42+
the filesystem.
43+
"""
44+
# Map path from url to a file
45+
parsed_url = urlparse(request.get_full_url())
46+
resource_file = os.path.normpath('resources%s' % parsed_url.path)
47+
try:
48+
return open(resource_file, mode='rb')
49+
except IOError:
50+
return open('resources/404.json', mode='rb')
51+

tests/api/test_alpine.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ def test_logout(self):
2626

2727
def test_get_login_status(self):
2828
current_login_info = alpine_client.get_status()
29+
del current_login_info["complete_json"]
2930
self.assertEqual(login_info, current_login_info)
3031

3132
def test_get_version(self):

tests/api/test_dataSource.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ def test_get_db_data_source_list(self):
3333
self.assertIsNotNone(datasource_list)
3434

3535
def test_get_db_data_source_info(self):
36-
datasource_info = alpine_client.datasource.get(1, "Database")
37-
self.assertEqual(datasource_info['id'], 1)
36+
datasource_info = alpine_client.datasource.get(db_datasource_id, "Database")
37+
self.assertEqual(datasource_info['id'], db_datasource_id)
3838

3939
def test_get_db_data_source_id(self):
4040
datasource_id = alpine_client.datasource.get_id(gpdb_datasource_name, "Database")

tests/api/test_job.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ def test_delete_task(self):
272272
tasks = alpine_client.job.task.get_list(workspace_id, job_info['id'])
273273
self.assertEqual(1, len(tasks))
274274
alpine_client.job.task.delete(workspace_id, job_info['id'], task_info['id'])
275+
time.sleep(1)
275276
new_tasks = alpine_client.job.task.get_list(workspace_id, job_info['id'])
276277
self.assertEqual(0, len(new_tasks))
277278
try:

tests/api/test_workfile.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ def test_run_workflow(self):
9191
process_id = alpine_client.workfile.process.run(workfile_id, variables)
9292
alpine_client.workfile.process.wait_until_finished(process_id)
9393

94+
def test_run_workflow_variable_quote(self):
95+
variables = [{"name": "@min_credit_line", "value": "7"}, {"name": "@outlook", "value": "'sunny'"}]
96+
workfile_id = alpine_client.workfile.get_id(workfile_name, workspace_id)
97+
process_id = alpine_client.workfile.process.run(workfile_id, variables)
98+
alpine_client.workfile.process.wait_until_finished(process_id)
99+
94100
def test_query_workflow_status(self):
95101
valid_workfile_status = ["WORKING", "FINISHED"]
96102
variables = [{"name": "@min_credit_line", "value": "7"}]

tests/data/afm/db_row_fil_with_variable.afm

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<DataSources>
44
<DataSource name="miner_demo" type="Database">
55
<Parameter key="dbConnectionName" value="miner_demo"/>
6-
<Parameter key="url" value="jdbc:postgresql://10.10.0.151:5432/miner_demo"/>
6+
<Parameter key="url" value="jdbc:postgresql://10.0.0.48:5432/miner_demo"/>
77
<Parameter key="userName" value="miner_demo"/>
88
<Parameter key="useSSL" value="false"/>
99
<Parameter key="password" value="bWluZXJfZGVtbw=="/>
@@ -37,13 +37,54 @@
3737
</Fields>
3838
</InPutFieldList>
3939
</Operator>
40-
<Operator X="166" Y="218" name="credit" type="com.alpine.miner.gef.runoperator.datasource.DbTableOperator" uuid="1484569443418">
40+
<Operator X="166" Y="118" name="credit" type="com.alpine.miner.gef.runoperator.datasource.DbTableOperator" uuid="1484569443418">
4141
<Note/>
4242
<Parameter key="dbConnectionName" value="miner_demo"/>
4343
<Parameter key="schemaName" value="demo"/>
4444
<Parameter key="tableName" value="credit"/>
45+
<Parameter key="userName" value="miner_demo"/>
46+
<Parameter key="url" value="jdbc:postgresql://10.0.0.48:5432/miner_demo"/>
47+
<Parameter key="password" value="bWluZXJfZGVtbw=="/>
48+
<Parameter key="system" value="Greenplum"/>
49+
<Parameter key="useSSL" value="false"/>
4550
</Operator>
46-
<Link source="credit" target="Row Filter"/>
51+
<Operator name="golfnew" uuid="1507711401830" type="com.alpine.miner.gef.runoperator.datasource.DbTableOperator" Y="230" X="160">
52+
<Note></Note>
53+
<Parameter value="miner_demo" key="dbConnectionName"></Parameter>
54+
<Parameter value="demo" key="schemaName"></Parameter>
55+
<Parameter value="golfnew" key="tableName"></Parameter>
56+
<Parameter key="userName" value="miner_demo"/>
57+
<Parameter key="url" value="jdbc:postgresql://10.0.0.48:5432/miner_demo"/>
58+
<Parameter key="password" value="bWluZXJfZGVtbw=="/>
59+
<Parameter key="system" value="Greenplum"/>
60+
<Parameter key="useSSL" value="false"/>
61+
</Operator>
62+
<Operator name="Row Filter-1" uuid="1507711411470" type="com.alpine.miner.gef.runoperator.field.FilterOperator" Y="208" X="454">
63+
<Note></Note>
64+
<Parameter value="TABLE" key="outputType"></Parameter>
65+
<Parameter value="@default_schema" key="outputSchema"></Parameter>
66+
<Parameter value="alp@user_id_@flow_id_rowfil_0" key="outputTable"></Parameter>
67+
<StorageParameters appendOnly="false" compressionLevel="1" isDistributedRandomly="true" compression="false" columnarStorage="false"></StorageParameters>
68+
<Parameter value="Yes" key="dropIfExist"></Parameter>
69+
<RowFilterConditionModel conditionValue="" sqlType="nosql" useAll="true">
70+
<RowFilterConditionItem condition="=" firstValue="@outlook" columnName="outlook" secondValue=""></RowFilterConditionItem>
71+
</RowFilterConditionModel>
72+
<InPutFieldList id="1507711401830">
73+
<Parameter value="demo" key="schema"></Parameter>
74+
<Parameter value="golfnew" key="table"></Parameter>
75+
<Parameter value="TABLE" key="tableType"></Parameter>
76+
<Parameter value="miner_demo" key="dbConnectionName"></Parameter>
77+
<Fields>
78+
<Field name="outlook" type="TEXT"></Field>
79+
<Field name="temperature" type="INTEGER"></Field>
80+
<Field name="humidity" type="INTEGER"></Field>
81+
<Field name="wind" type="TEXT"></Field>
82+
<Field name="play" type="TEXT"></Field>
83+
</Fields>
84+
</InPutFieldList>
85+
</Operator>
86+
<Link source="credit" target="Row Filter"></Link>
87+
<Link source="golfnew" target="Row Filter-1"></Link>
4788
<VariableModel>
4889
<Variable>
4990
<Name>@flow_name</Name>
@@ -82,6 +123,14 @@
82123
<Value>-1</Value>
83124
</Variable>
84125
<Variable>
126+
<Name>@default_prefix</Name>
127+
<Value>ch40</Value>
128+
</Variable>
129+
<Variable>
130+
<Name>@outlook</Name>
131+
<Value>'rain'</Value>
132+
</Variable>
133+
<Variable>
85134
<Name>@min_credit_line</Name>
86135
<Value>10</Value>
87136
</Variable>

0 commit comments

Comments
 (0)