Skip to content

Commit 5221333

Browse files
author
Kevin D Smith
committed
Allow list parameters to be sets as well; add fixes in tests for new server version
1 parent ec354ba commit 5221333

File tree

4 files changed

+31
-12
lines changed

4 files changed

+31
-12
lines changed

swat/cas/table.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -884,6 +884,8 @@ def append_columns(self, *items, **kwargs):
884884
varlist = list(self.columns)
885885
if not isinstance(varlist, items_types):
886886
varlist = [varlist]
887+
else:
888+
varlist = list(varlist)
887889
for item in _flatten(items):
888890
if item:
889891
varlist.append(item)
@@ -918,6 +920,8 @@ def append_computedvars(self, *items, **kwargs):
918920
varlist = self.get_param('computedvars')
919921
if not isinstance(varlist, items_types):
920922
varlist = [varlist]
923+
else:
924+
varlist = list(varlist)
921925
for item in _flatten(items):
922926
if item:
923927
varlist.append(item)
@@ -950,6 +954,8 @@ def append_groupby(self, *items, **kwargs):
950954
varlist = self.get_param('groupby', [])
951955
if not isinstance(varlist, items_types):
952956
varlist = [varlist]
957+
else:
958+
varlist = list(varlist)
953959
for item in _flatten(items):
954960
if item:
955961
varlist.append(item)
@@ -984,6 +990,8 @@ def append_computedvarsprogram(self, *items, **kwargs):
984990
code = self.get_param('computedvarsprogram')
985991
if not isinstance(code, items_types):
986992
code = [code]
993+
else:
994+
code = list(code)
987995
for item in _flatten(items):
988996
if item:
989997
code.append(item)
@@ -1055,6 +1063,8 @@ def append_where(self, *items, **kwargs):
10551063
code = self.get_param('where', [])
10561064
if not isinstance(code, items_types):
10571065
code = [code]
1066+
else:
1067+
code = list(code)
10581068
for item in _flatten(items):
10591069
if item:
10601070
code.append(item)

swat/tests/cas/test_basics.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -497,17 +497,25 @@ def test_epdf_server_options_are_hidden(self):
497497
self.assertGreaterEqual(len(cfg), 3)
498498
self.assertEqual(cfg.columns[0], 'name')
499499
self.assertEqual(cfg.columns[1], 'description')
500-
self.assertEqual(cfg.iloc[0].tolist(),
501-
['setServOpt','sets a server option'])
500+
item = cfg.iloc[0].tolist()
501+
self.assertTrue(item == ['setServOpt','sets a server option'] or
502+
item == ['setServOpts','sets a server option'])
502503
self.assertEqual(cfg.iloc[1].tolist(),
503504
['getServOpt','displays the value of a server option'])
504505
self.assertEqual(cfg.iloc[2].tolist(),
505506
['listServOpts','Displays the server options and server values'])
506507

507508
# List a hidden action
508509
act = self.s.builtins.help(action='setServOpt', showHidden=True)
509-
self.assertTrue(act is not None)
510-
self.assertTrue(act['setServOpt'])
510+
has_set_serv_opts = False
511+
if not act:
512+
act = self.s.builtins.help(action='setServOpts', showHidden=True)
513+
self.assertTrue(act is not None)
514+
self.assertTrue(act['setServOpts'])
515+
has_set_serv_opts = True
516+
else:
517+
self.assertTrue(act is not None)
518+
self.assertTrue(act['setServOpt'])
511519

512520
# 03/09/2016: bosout: Didn't expect hidden action to be returned. Developers notified.
513521
# Comment out until we know what to expect.
@@ -526,12 +534,16 @@ def test_epdf_server_options_are_hidden(self):
526534
self.assertTrue(act['listServOpts'])
527535

528536
# See if we can set a hidden datafeeder option
529-
with self.assertRaises(AttributeError):
530-
self.s.configuration.setServOpts(epdfsslusesni="NO")
537+
if has_set_serv_opts:
538+
out = self.s.configuration.setServOpts(epdfsslusesni="NO")
539+
self.assertEqual( out.status, "Error parsing action parameters." )
540+
else:
541+
with self.assertRaises(AttributeError):
542+
self.s.configuration.setServOpts(epdfsslusesni="NO")
531543

532544
# See if we can get a hidden datafeeder option
533545
with self.assertRaises(AttributeError):
534-
self.s.congiguration.getServOpts(name='epdfsslusesni')
546+
self.s.configuration.getServOpts(name='epdfsslusesni')
535547

536548
# See if hidden datafeeder options appear in the option list.
537549
opts = self.s.configuration.listServOpts()

swat/tests/cas/test_connection.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ def test_dir(self):
141141

142142
self.assertTrue('builtins.loadactionset' in dirout)
143143
self.assertTrue('table.loadtable' in dirout)
144-
self.assertTrue('index' not in dirout)
145144
self.assertTrue('elasticsearch.index' not in dirout)
146145
self.assertTrue('sandindex' not in dirout)
147146
self.assertTrue('elasticsearch.sandindex' not in dirout)
@@ -152,7 +151,6 @@ def test_dir(self):
152151

153152
self.assertTrue('builtins.loadactionset' in dirout)
154153
self.assertTrue('table.loadtable' in dirout)
155-
self.assertTrue('index' in dirout)
156154
self.assertTrue('elasticsearch.index' in dirout)
157155
self.assertTrue('sandindex' in dirout)
158156
self.assertTrue('elasticsearch.sandindex' in dirout)

swat/tests/cas/test_table.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ def test_dir(self):
173173
self.assertTrue('sessionid' in dirout)
174174
self.assertTrue('session.sessionid' in dirout)
175175
self.assertTrue('elasticsearch' not in dirout)
176-
self.assertTrue('index' not in dirout)
177176
self.assertTrue('elasticsearch.index' not in dirout)
178177
self.assertTrue('sandindex' not in dirout)
179178
self.assertTrue('elasticsearch.sandindex' not in dirout)
@@ -186,7 +185,6 @@ def test_dir(self):
186185
self.assertTrue('session.timeout' in dirout)
187186
self.assertTrue('sessionid' in dirout)
188187
self.assertTrue('session.sessionid' in dirout)
189-
self.assertTrue('index' in dirout)
190188
self.assertTrue('elasticsearch.index' in dirout)
191189
self.assertTrue('sandindex' in dirout)
192190
self.assertTrue('elasticsearch.sandindex' in dirout)
@@ -2999,7 +2997,8 @@ def test_column_unique(self):
29992997

30002998
def test_load_path(self):
30012999
df = self.get_cars_df()
3002-
cars = self.s.load_path('datasources/cars_single.sashdat', caslib=self.srcLib)
3000+
cars = self.s.load_path('datasources/cars_single.sashdat', caslib=self.srcLib,
3001+
casout=dict(replace=True))
30033002
self.assertTablesEqual(df, cars)
30043003

30053004
@unittest.skipIf(int(pd.__version__.split('.')[1]) <= 16, 'Need newer version of Pandas')

0 commit comments

Comments
 (0)