Skip to content

Commit

Permalink
Merge pull request #2 from DivergentEuropeans/bugfix/mock
Browse files Browse the repository at this point in the history
Fixed some /datasetContents bugs + README update
  • Loading branch information
timgerstel authored Sep 1, 2021
2 parents cd531ec + 4da2ad0 commit 5f5c134
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 11 deletions.
7 changes: 6 additions & 1 deletion mock/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,14 @@ To run the mock server you will need [python 3.6+](https://www.python.org/)
```python
python server.py
```
This should start the server running on [https://127.0.0.1:5000](https://127.0.0.1:5000) by default
This should start the server running on [http://127.0.0.1:5000](http://127.0.0.1:5000) by default

## Authentication

By default, to log in use 'mock' for username and 'pass' for password.

## Configuration

To change the port you can set your environment variable

```bash
Expand Down
28 changes: 18 additions & 10 deletions mock/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,9 @@ def dataset_contents(dataset):
return {
"records" : x.get('records', []) for x in data['members'] if x['name'] == dataset_names[1]
}
else:
elif dataset == '':
return {"error": "Invalid dataset name"}, 400
else :
for data in global_datasets:
resp_data = {
"records": x.get('records', []) for x in global_datasets if x['name'] == dataset
Expand All @@ -380,12 +382,15 @@ def dataset_contents(dataset):
if data['volser'] == "MIGRAT":
data['volser'] = genVolserId()
except KeyError:
break
if data['name'] == "MOCK.ETAG":
resp_data['etag'] = data['etag']
resp = make_response(resp_data)
resp.headers['etag'] = data['etag']
return resp
pass
try:
if dataset == "MOCK.ETAG":
resp_data['etag'] = data['etag']
resp = make_response(resp_data)
resp.headers['etag'] = data['etag']
return resp
except KeyError:
pass
return make_response(resp_data)
elif request.method == 'POST':
if dataset.endswith(')'):
Expand All @@ -403,8 +408,11 @@ def dataset_contents(dataset):
if request_data and 'etag' in request_data:
if request_data['etag'] == data['etag']:
return {"msg": "etag match, successful write"}, 200

if request.headers.get('etag') != data['etag']:
if request.args.get('force') == 'true':
return {"msg": "force on, successful write"}, 200
elif not request.headers.get('etag'):
return {"msg": "no etag found, successful write"}, 200
elif request.headers.get('etag') != data['etag']:
return {"error": "etag mismatch"}, 400
else:
return {"msg": "etag match, successful write"}, 200
Expand All @@ -429,7 +437,7 @@ def VSAMdataset_contents(dataset):
if data['volser'] == "MIGRAT":
data['volser'] = genVolserId()
except KeyError:
break
pass
return {
"records": x.get('records', []) for x in global_datasets if x['name'] == dataset
}
Expand Down

0 comments on commit 5f5c134

Please sign in to comment.