Skip to content

Commit a34c52b

Browse files
committed
fixed MAS id format
1 parent c72d72f commit a34c52b

File tree

2 files changed

+106
-19
lines changed

2 files changed

+106
-19
lines changed

src/sasctl/_services/microanalytic_store.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
"""A stateless, memory-resident, high-performance program execution service."""
88

9+
import re
910
from collections import OrderedDict
1011

1112
from .service import Service
@@ -37,7 +38,10 @@ def is_uuid(cls, id):
3738
not currently use IDs that are actually UUIDs.
3839
3940
"""
40-
return True
41+
# Anything that consists of only numbers, lowercase letters,
42+
# and underscores, and does not start with a number, looks like a
43+
# MAS id.
44+
return re.match('^[_a-z][_a-z0-9]+$', id) is not None
4145

4246
list_modules, get_module, update_module, \
4347
delete_module = Service._crud_funcs('/modules', 'module')

tests/cassettes/tests.integration.test_tasks.TestModels.test_score_sklearn.json

Lines changed: 101 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"http_interactions": [
33
{
4-
"recorded_at": "2019-07-25T20:12:13",
4+
"recorded_at": "2019-08-01T15:38:22",
55
"request": {
66
"body": {
77
"encoding": "utf-8",
@@ -36,7 +36,7 @@
3636
"response": {
3737
"body": {
3838
"encoding": "UTF-8",
39-
"string": "{\"access_token\":\"[redacted]\",\"token_type\":\"bearer\",\"expires_in\":35999,\"scope\":\"DataBuilders ApplicationAdministrators qasDataAdmin qasFQAAnalyst SASScoreUsers qasAPAAnalyst qasInfoConsumer clients.read clients.secret uaa.resource openid uaa.admin clients.admin EsriUsers scim.read SASAdministrators qasPQAAnalyst clients.write scim.write qasAppAdmin CASHostAccountRequired\",\"jti\":\"8ec109f298a340d9b5f24a35e9bdce14\"}"
39+
"string": "{\"access_token\":\"[redacted]\",\"token_type\":\"bearer\",\"expires_in\":35999,\"scope\":\"DataBuilders ApplicationAdministrators qasDataAdmin qasFQAAnalyst SASScoreUsers qasAPAAnalyst qasInfoConsumer clients.read clients.secret uaa.resource openid uaa.admin clients.admin EsriUsers scim.read SASAdministrators qasPQAAnalyst clients.write scim.write qasAppAdmin CASHostAccountRequired\",\"jti\":\"b1fe2b3182b240dd984582e145e64949\"}"
4040
},
4141
"headers": {
4242
"Cache-Control": [
@@ -50,7 +50,7 @@
5050
"application/json;charset=UTF-8"
5151
],
5252
"Date": [
53-
"Thu, 25 Jul 2019 20:12:13 GMT"
53+
"Thu, 01 Aug 2019 15:38:23 GMT"
5454
],
5555
"Expires": [
5656
"0"
@@ -89,7 +89,90 @@
8989
}
9090
},
9191
{
92-
"recorded_at": "2019-07-25T20:12:13",
92+
"recorded_at": "2019-08-01T15:38:22",
93+
"request": {
94+
"body": {
95+
"encoding": "utf-8",
96+
"string": ""
97+
},
98+
"headers": {
99+
"Accept": [
100+
"*/*"
101+
],
102+
"Accept-Encoding": [
103+
"gzip, deflate"
104+
],
105+
"Authorization": [
106+
"Bearer [redacted]"
107+
],
108+
"Connection": [
109+
"keep-alive"
110+
],
111+
"User-Agent": [
112+
"python-requests/2.22.0"
113+
]
114+
},
115+
"method": "GET",
116+
"uri": "https://hostname.com/microanalyticScore/modules?filter=eq(name,%20%22ScikitModel%22)"
117+
},
118+
"response": {
119+
"body": {
120+
"encoding": "UTF-8",
121+
"string": "{\"links\":[{\"method\":\"GET\",\"rel\":\"collection\",\"href\":\"/microanalyticScore/modules\",\"uri\":\"/microanalyticScore/modules\",\"type\":\"application/vnd.sas.collection\"},{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/microanalyticScore/modules?filter=eq(name,%20%22ScikitModel%22)&start=0&limit=20\",\"uri\":\"/microanalyticScore/modules?filter=eq(name,%20%22ScikitModel%22)&start=0&limit=20\",\"type\":\"application/vnd.sas.collection\"},{\"method\":\"POST\",\"rel\":\"createModule\",\"href\":\"/microanalyticScore/modules\",\"uri\":\"/microanalyticScore/modules\",\"type\":\"application/vnd.sas.microanalytic.module.definition\",\"responseType\":\"application/vnd.sas.microanalytic.module\"}],\"name\":\"modules\",\"accept\":\"application/vnd.sas.microanalytic.module\",\"start\":0,\"count\":1,\"items\":[{\"links\":[{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/microanalyticScore/modules\",\"uri\":\"/microanalyticScore/modules\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\",\"type\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"GET\",\"rel\":\"source\",\"href\":\"/microanalyticScore/modules/scikitmodel/source\",\"uri\":\"/microanalyticScore/modules/scikitmodel/source\",\"type\":\"application/vnd.sas.microanalytic.module.source\"},{\"method\":\"GET\",\"rel\":\"steps\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module.step\"},{\"method\":\"GET\",\"rel\":\"submodules\",\"href\":\"/microanalyticScore/modules/scikitmodel/submodules\",\"uri\":\"/microanalyticScore/modules/scikitmodel/submodules\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.submodule\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\",\"type\":\"application/vnd.sas.microanalytic.module\",\"responseType\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\"}],\"version\":2,\"createdBy\":\"USERNAME\",\"creationTimeStamp\":\"2019-08-01T15:16:54.140Z\",\"modifiedBy\":\"USERNAME\",\"modifiedTimeStamp\":\"2019-08-01T15:16:54.140Z\",\"id\":\"scikitmodel\",\"name\":\"ScikitModel\",\"revision\":0,\"scope\":\"public\",\"language\":\"ds2\",\"stepIds\":[\"score\"],\"warnings\":[]}],\"limit\":20,\"version\":2}"
122+
},
123+
"headers": {
124+
"Cache-Control": [
125+
"no-cache, no-store, max-age=0, must-revalidate"
126+
],
127+
"Connection": [
128+
"Keep-Alive"
129+
],
130+
"Content-Security-Policy": [
131+
"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' *.sas.com blob: data:; style-src 'self' 'unsafe-inline'; child-src 'self' blob: data: mailto:;"
132+
],
133+
"Content-Type": [
134+
"application/vnd.sas.collection+json;charset=UTF-8"
135+
],
136+
"Date": [
137+
"Thu, 01 Aug 2019 15:38:23 GMT"
138+
],
139+
"Expires": [
140+
"0"
141+
],
142+
"Keep-Alive": [
143+
"timeout=5, max=99"
144+
],
145+
"Pragma": [
146+
"no-cache"
147+
],
148+
"Strict-Transport-Security": [
149+
"max-age=31536000 ; includeSubDomains"
150+
],
151+
"Transfer-Encoding": [
152+
"chunked"
153+
],
154+
"Vary": [
155+
"User-Agent"
156+
],
157+
"X-Content-Type-Options": [
158+
"nosniff"
159+
],
160+
"X-Frame-Options": [
161+
"SAMEORIGIN"
162+
],
163+
"X-XSS-Protection": [
164+
"1; mode=block"
165+
]
166+
},
167+
"status": {
168+
"code": 200,
169+
"message": ""
170+
},
171+
"url": "https://hostname.com/microanalyticScore/modules?filter=eq(name,%20%22ScikitModel%22)"
172+
}
173+
},
174+
{
175+
"recorded_at": "2019-08-01T15:38:22",
93176
"request": {
94177
"body": {
95178
"encoding": "utf-8",
@@ -118,7 +201,7 @@
118201
"response": {
119202
"body": {
120203
"encoding": "UTF-8",
121-
"string": "{\"links\":[{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/microanalyticScore/modules\",\"uri\":\"/microanalyticScore/modules\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\",\"type\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"GET\",\"rel\":\"source\",\"href\":\"/microanalyticScore/modules/scikitmodel/source\",\"uri\":\"/microanalyticScore/modules/scikitmodel/source\",\"type\":\"application/vnd.sas.microanalytic.module.source\"},{\"method\":\"GET\",\"rel\":\"steps\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module.step\"},{\"method\":\"GET\",\"rel\":\"submodules\",\"href\":\"/microanalyticScore/modules/scikitmodel/submodules\",\"uri\":\"/microanalyticScore/modules/scikitmodel/submodules\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.submodule\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\",\"type\":\"application/vnd.sas.microanalytic.module\",\"responseType\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\"}],\"version\":2,\"createdBy\":\"USERNAME\",\"creationTimeStamp\":\"2019-07-25T20:12:12.295Z\",\"modifiedBy\":\"USERNAME\",\"modifiedTimeStamp\":\"2019-07-25T20:12:12.295Z\",\"id\":\"scikitmodel\",\"name\":\"ScikitModel\",\"revision\":0,\"scope\":\"public\",\"language\":\"ds2\",\"stepIds\":[\"score\"],\"warnings\":[]}"
204+
"string": "{\"links\":[{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/microanalyticScore/modules\",\"uri\":\"/microanalyticScore/modules\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\",\"type\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"GET\",\"rel\":\"source\",\"href\":\"/microanalyticScore/modules/scikitmodel/source\",\"uri\":\"/microanalyticScore/modules/scikitmodel/source\",\"type\":\"application/vnd.sas.microanalytic.module.source\"},{\"method\":\"GET\",\"rel\":\"steps\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module.step\"},{\"method\":\"GET\",\"rel\":\"submodules\",\"href\":\"/microanalyticScore/modules/scikitmodel/submodules\",\"uri\":\"/microanalyticScore/modules/scikitmodel/submodules\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.submodule\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\",\"type\":\"application/vnd.sas.microanalytic.module\",\"responseType\":\"application/vnd.sas.microanalytic.module\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/microanalyticScore/modules/scikitmodel\",\"uri\":\"/microanalyticScore/modules/scikitmodel\"}],\"version\":2,\"createdBy\":\"USERNAME\",\"creationTimeStamp\":\"2019-08-01T15:16:54.140Z\",\"modifiedBy\":\"USERNAME\",\"modifiedTimeStamp\":\"2019-08-01T15:16:54.140Z\",\"id\":\"scikitmodel\",\"name\":\"ScikitModel\",\"revision\":0,\"scope\":\"public\",\"language\":\"ds2\",\"stepIds\":[\"score\"],\"warnings\":[]}"
122205
},
123206
"headers": {
124207
"Cache-Control": [
@@ -134,19 +217,19 @@
134217
"application/vnd.sas.microanalytic.module+json;charset=UTF-8"
135218
],
136219
"Date": [
137-
"Thu, 25 Jul 2019 20:12:12 GMT"
220+
"Thu, 01 Aug 2019 15:38:23 GMT"
138221
],
139222
"ETag": [
140-
"\"jyj454lj\""
223+
"\"jystobuk\""
141224
],
142225
"Expires": [
143226
"0"
144227
],
145228
"Keep-Alive": [
146-
"timeout=5, max=99"
229+
"timeout=5, max=98"
147230
],
148231
"Last-Modified": [
149-
"Thu, 25 Jul 2019 20:12:12 GMT"
232+
"Thu, 01 Aug 2019 15:16:54 GMT"
150233
],
151234
"Location": [
152235
"/microanalyticScore/modules/scikitmodel"
@@ -181,7 +264,7 @@
181264
}
182265
},
183266
{
184-
"recorded_at": "2019-07-25T20:12:13",
267+
"recorded_at": "2019-08-01T15:38:22",
185268
"request": {
186269
"body": {
187270
"encoding": "utf-8",
@@ -210,7 +293,7 @@
210293
"response": {
211294
"body": {
212295
"encoding": "UTF-8",
213-
"string": "{\"links\":[{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module.step\"},{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"type\":\"application/vnd.sas.microanalytic.module.step\"},{\"method\":\"POST\",\"rel\":\"execute\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"type\":\"application/vnd.sas.microanalytic.module.step.input\",\"responseType\":\"application/vnd.sas.microanalytic.module.step.output\"},{\"method\":\"POST\",\"rel\":\"validateStepInput\",\"href\":\"/microanalyticScore/commons/validations/modules/scikitmodel/steps/score\",\"uri\":\"/microanalyticScore/commons/validations/modules/scikitmodel/steps/score\",\"type\":\"application/vnd.sas.microanalytic.module.step.input\",\"responseType\":\"application/vnd.sas.validation\"}],\"version\":1,\"createdBy\":\"USERNAME\",\"creationTimeStamp\":\"2019-07-25T20:12:12.295Z\",\"modifiedBy\":\"USERNAME\",\"modifiedTimeStamp\":\"2019-07-25T20:12:12.295Z\",\"id\":\"score\",\"moduleId\":\"scikitmodel\",\"inputs\":[{\"name\":\"sepallength\",\"type\":\"decimal\",\"dim\":0,\"size\":0},{\"name\":\"sepalwidth\",\"type\":\"decimal\",\"dim\":0,\"size\":0},{\"name\":\"petallength\",\"type\":\"decimal\",\"dim\":0,\"size\":0},{\"name\":\"petalwidth\",\"type\":\"decimal\",\"dim\":0,\"size\":0}],\"outputs\":[{\"name\":\"var1\",\"type\":\"string\",\"dim\":0,\"size\":0},{\"name\":\"rc\",\"type\":\"integer\",\"dim\":0,\"size\":0},{\"name\":\"msg\",\"type\":\"string\",\"dim\":0,\"size\":0}]}"
296+
"string": "{\"links\":[{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.microanalytic.module.step\"},{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"type\":\"application/vnd.sas.microanalytic.module.step\"},{\"method\":\"POST\",\"rel\":\"execute\",\"href\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"uri\":\"/microanalyticScore/modules/scikitmodel/steps/score\",\"type\":\"application/vnd.sas.microanalytic.module.step.input\",\"responseType\":\"application/vnd.sas.microanalytic.module.step.output\"},{\"method\":\"POST\",\"rel\":\"validateStepInput\",\"href\":\"/microanalyticScore/commons/validations/modules/scikitmodel/steps/score\",\"uri\":\"/microanalyticScore/commons/validations/modules/scikitmodel/steps/score\",\"type\":\"application/vnd.sas.microanalytic.module.step.input\",\"responseType\":\"application/vnd.sas.validation\"}],\"version\":1,\"createdBy\":\"USERNAME\",\"creationTimeStamp\":\"2019-08-01T15:16:54.140Z\",\"modifiedBy\":\"USERNAME\",\"modifiedTimeStamp\":\"2019-08-01T15:16:54.140Z\",\"id\":\"score\",\"moduleId\":\"scikitmodel\",\"inputs\":[{\"name\":\"sepallength\",\"type\":\"decimal\",\"dim\":0,\"size\":0},{\"name\":\"sepalwidth\",\"type\":\"decimal\",\"dim\":0,\"size\":0},{\"name\":\"petallength\",\"type\":\"decimal\",\"dim\":0,\"size\":0},{\"name\":\"petalwidth\",\"type\":\"decimal\",\"dim\":0,\"size\":0}],\"outputs\":[{\"name\":\"var1\",\"type\":\"string\",\"dim\":0,\"size\":0},{\"name\":\"rc\",\"type\":\"integer\",\"dim\":0,\"size\":0},{\"name\":\"msg\",\"type\":\"string\",\"dim\":0,\"size\":0}]}"
214297
},
215298
"headers": {
216299
"Cache-Control": [
@@ -226,19 +309,19 @@
226309
"application/vnd.sas.microanalytic.module.step+json;charset=UTF-8"
227310
],
228311
"Date": [
229-
"Thu, 25 Jul 2019 20:12:12 GMT"
312+
"Thu, 01 Aug 2019 15:38:23 GMT"
230313
],
231314
"ETag": [
232-
"\"jyj454lj\""
315+
"\"jystobuk\""
233316
],
234317
"Expires": [
235318
"0"
236319
],
237320
"Keep-Alive": [
238-
"timeout=5, max=98"
321+
"timeout=5, max=97"
239322
],
240323
"Last-Modified": [
241-
"Thu, 25 Jul 2019 20:12:12 GMT"
324+
"Thu, 01 Aug 2019 15:16:54 GMT"
242325
],
243326
"Location": [
244327
"/microanalyticScore/modules/scikitmodel/steps/score"
@@ -273,7 +356,7 @@
273356
}
274357
},
275358
{
276-
"recorded_at": "2019-07-25T20:12:13",
359+
"recorded_at": "2019-08-01T15:38:28",
277360
"request": {
278361
"body": {
279362
"encoding": "utf-8",
@@ -324,13 +407,13 @@
324407
"application/vnd.sas.microanalytic.module.step.output+json;charset=UTF-8"
325408
],
326409
"Date": [
327-
"Thu, 25 Jul 2019 20:12:12 GMT"
410+
"Thu, 01 Aug 2019 15:38:28 GMT"
328411
],
329412
"Expires": [
330413
"0"
331414
],
332415
"Keep-Alive": [
333-
"timeout=5, max=97"
416+
"timeout=5, max=96"
334417
],
335418
"Pragma": [
336419
"no-cache"

0 commit comments

Comments
 (0)