Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: tests/mock_api.py

Issue 29355396: Issue 4380 - Add Mock Crowdin API and Sync Test (Closed)
Patch Set: Created Sept. 30, 2016, 7:20 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/mock_api.py
===================================================================
new file mode 100644
--- /dev/null
+++ b/tests/mock_api.py
@@ -0,0 +1,118 @@
+from flask import Flask, send_from_directory, jsonify
Jon Sonesen 2016/09/30 07:35:11 I used this in order to keep the api code as light
+
+app = Flask(__name__)
+
+
+@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():
+ 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')

Powered by Google App Engine
This is Rietveld