| Index: tests/crowdin_mock_api.py |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/tests/crowdin_mock_api.py |
| @@ -0,0 +1,126 @@ |
| +from flask import Flask, send_from_directory, jsonify, request |
| + |
| +app = Flask(__name__) |
| +app.request_data = [] |
|
Vasily Kuznetsov
2016/10/11 17:33:24
I think this name doesn't really tell us that it's
|
| + |
| + |
| +@app.before_request |
| +def log_request_info(): |
| + log = (request.url, request.get_data()) |
| + app.request_data.append(log) |
| + |
| + |
| +@app.route('/api/project/test/info', methods=['GET']) |
| +def info(): |
| + return jsonify( |
| + { |
| + 'languages': [ |
| + { |
| + 'name': 'German', |
| + 'code': 'de', |
| + 'can_translate': 1, |
| + 'can_approve': 1, |
| + |
| + }, |
| + { |
| + 'name': 'English', |
| + 'code': 'en', |
| + 'can_translate': 1, |
| + 'can_approve': 1, |
| + |
| + }, |
| + |
| + ], |
| + 'files': [ |
| + { |
| + 'node_type': 'directory', |
| + 'name': 'en', |
| + 'files': [ |
| + { |
| + 'node_type': 'file', |
| + 'name': 'translate.json', |
| + 'created': '2016-09-26 08:30:07', |
| + 'last_updated': '2016-09-26 08:30:08', |
| + 'last_accessed': None, |
| + 'last_revision': '1' |
| + }, |
| + ] |
| + }, |
| + { |
| + 'node_type': 'directory', |
| + 'name': 'de', |
| + 'files': [ |
| + { |
| + 'node_type': 'file', |
| + 'name': 'translate.json', |
| + 'created': '2016-09-26 08:30:07', |
| + 'last_updated': '2016-09-26 08:30:08', |
| + 'last_accessed': None, |
| + 'last_revision': '1' |
| + } |
| + ] |
| + } |
| + ] |
| + } |
| + ) |
| + |
| + |
| +@app.route('/api/project/test/supported-languages', methods=['GET']) |
| +def supported_langs(): |
| + return jsonify( |
| + [ |
| + { |
| + 'name': 'German', |
| + 'crowdin_code': 'de', |
| + 'editor_code': 'de', |
| + 'iso_639_1': 'de', |
| + 'iso_639_3': 'deu', |
| + 'locale': 'de-DE' |
| + }, |
| + { |
| + 'name': 'English', |
| + 'crowdin_code': 'en', |
| + 'editor_code': 'en', |
| + 'iso_639_1': 'en', |
| + 'iso_639_3': 'eng', |
| + 'locale': 'en-US' |
| + }, |
| + ] |
| + ) |
| + |
| + |
| +@app.route('/api/project/test/add-file', methods=['POST']) |
| +def add_file(): |
| + app.string = request.get_data() |
| + return jsonify() |
| + |
| + |
| +@app.route('/api/project/test/upload-translation', methods=['POST']) |
| +def upload_translation(): |
| + return jsonify() |
| + |
| + |
| +@app.route('/api/project/test/delete-directory', methods=['POST']) |
| +def delete_directory(): |
| + return jsonify() |
| + |
| + |
| +@app.route('/api/project/test/delete-file', methods=['POST']) |
| +def delete_file(): |
| + return jsonify() |
| + |
| + |
| +@app.route('/api/project/test/export', methods=['GET']) |
| +def export(): |
| + return jsonify( |
| + { |
| + 'success': { |
| + 'status': 'skipped' |
| + } |
| + }, |
| + ) |
| + |
| + |
| +@app.route('/api/project/test/download/all.zip', methods=['GET']) |
| +def get_zip(): |
| + return send_from_directory('', 'all.zip') |