def test_delete(self): url = "/admin/global_dictionary/delete" request = make_request(url, "POST", True, '0') response = request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(GlobalDictionaryWord.query().count(), 0) self.assertEqual(GlobalDictionaryJson.query().count(), 0)
def test_more(self): request = make_request( "/admin/global_dictionary/add_words", "POST", True, 'json={0}'.format( json.dumps(["a{0}".format(i) for i in range(201)]))) response = request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(response.status_int, 200) self.assertEqual(task_response[0].status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 201) request = make_request("/admin/global_dictionary/update_json", "POST", True, '0') response = request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 201) self.assertEqual(GlobalDictionaryJson.query().count(), 1) self.assertEqual(task_response[0].status_int, 200) request = make_request("/api/global_dictionary/get_words/0", "GET", True, '0') response = request.get_response(main.app) server_json = json.loads(response.body) timestamp = server_json["timestamp"] words_time = datetime.fromtimestamp(0) for word in GlobalDictionaryWord.query().fetch(): words_time = max(words_time, word.timestamp) self.assertEqual(time.mktime(words_time.timetuple()) * 1000, timestamp) self.assertEqual(201, len(server_json["words"]))
def test_more(self): request = make_request("/admin/global_dictionary/add_words", "POST", True, 'json={0}'.format(json.dumps(["a{0}".format(i) for i in range(201)]))) response = request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(response.status_int, 200) self.assertEqual(task_response[0].status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 201) request = make_request("/admin/global_dictionary/update_json", "POST", True, '0') response = request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 201) self.assertEqual(GlobalDictionaryJson.query().count(), 1) self.assertEqual(task_response[0].status_int, 200) request = make_request("/api/global_dictionary/get_words/0", "GET", True, '0') response = request.get_response(main.app) server_json = json.loads(response.body) timestamp = server_json["timestamp"] words_time = datetime.fromtimestamp(0) for word in GlobalDictionaryWord.query().fetch(): words_time = max(words_time, word.timestamp) self.assertEqual(time.mktime(words_time.timetuple()) * 1000, timestamp) self.assertEqual(201, len(server_json["words"]))
def get(self, *args, **kwargs): #TODO : add normal editor template = JINJA_ENVIRONMENT.get_template('templates/global_word_editor.html') curr_json = GlobalDictionaryJson.get_by_key_name('json') render_data = {'words':[]} num = 0 word_cnt = 0 id = int(kwargs.get('id')) if curr_json is not None: for i in json.loads(curr_json.json): word_cnt += 1 if i['tags'].find('-deleted') != -1 or word_cnt <= id * 200 or word_cnt > (id + 1) * 200: continue word = GlobalDictionaryWord(cnt=num, word=i['word'], E=i['E'], D=i['D'], tags=i['tags']) num += 1 render_data['words'].append(word) render_data['quantity'] = num render_data['all_num'] = word_cnt self.response.write(template.render(render_data))
def test_add(self): request = make_request( "/internal/global_dictionary/add_words/task_queue", "POST", True, 'json=["a", "b", "c"]') response = request.get_response(main.app) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 3) request = make_request("/admin/global_dictionary/add_words", "POST", True, 'json=["a", "b", "d"]') response = request.get_response(main.app) task_response = self.run_tasks(1) must_be = [{ "E": 50.0, "U": 0, "word": "a", "tags": "" }, { "E": 50.0, "U": 0, "word": "b", "tags": "" }, { "E": 50.0, "U": 0, "word": "c", "tags": "" }, { "E": 50.0, "U": 0, "word": "d", "tags": "" }] self.assertEqual(task_response[0].status_int, 200) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual(GlobalDictionaryJson.query().count(), 0) request = make_request("/admin/global_dictionary/update_json", "POST", True, '0') response = request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual(GlobalDictionaryJson.query().count(), 1) self.assertEqual(task_response[0].status_int, 200) server_json = json.loads(GlobalDictionaryJson.query().get().json) self.assertEqual(len(must_be), len(server_json)) for i in must_be: ok = False for j in server_json: if i["E"] == j["E"] and i["word"] == j["word"] and i[ "tags"] == j["tags"]: ok = True break self.assertTrue(ok) request = make_request("/api/global_dictionary/get_words/0", "GET", True, '0') response = request.get_response(main.app) server_json = json.loads(response.body) timestamp = server_json["timestamp"] words_time = datetime.fromtimestamp(0) for word in GlobalDictionaryWord.query().fetch(): words_time = max(words_time, word.timestamp) self.assertEqual(time.mktime(words_time.timetuple()) * 1000, timestamp) self.assertEqual(len(must_be), len(server_json["words"])) for i in must_be: ok = False for j in server_json["words"]: if i["E"] == j["E"] and i["word"] == j["word"] and i[ "tags"] == j["tags"]: ok = True break self.assertTrue(ok) request = make_request( "/api/global_dictionary/get_words/{0}".format(timestamp), "GET", True, '0') response = request.get_response(main.app) self.assertEqual(json.loads(response.body)["words"], []) self.assertEqual(json.loads(response.body)["timestamp"], timestamp) time.sleep(1) request = make_request("/admin/global_dictionary/add_words", "POST", True, 'json=["f", "g", "h"]') request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(task_response[0].status_int, 200) request = make_request("/admin/global_dictionary/update_json", "POST", True, '0') request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(task_response[0].status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 7) self.assertEqual(GlobalDictionaryJson.query().count(), 2) request = make_request("/api/global_dictionary/get_words/0", "GET", True, '0') response = request.get_response(main.app) self.assertEqual(len(json.loads(response.body)["words"]), 7)
def test_add(self): request = make_request("/internal/global_dictionary/add_words/task_queue", "POST", True, 'json=["a", "b", "c"]') response = request.get_response(main.app) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 3) request = make_request("/admin/global_dictionary/add_words", "POST", True, 'json=["a", "b", "d"]') response = request.get_response(main.app) task_response = self.run_tasks(1) must_be = [{"E": 50.0, "U": 0, "word": "a", "tags": ""}, {"E": 50.0, "U": 0, "word": "b", "tags": ""}, {"E": 50.0, "U": 0, "word": "c", "tags": ""}, {"E": 50.0, "U": 0, "word": "d", "tags": ""}] self.assertEqual(task_response[0].status_int, 200) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual(GlobalDictionaryJson.query().count(), 0) request = make_request("/admin/global_dictionary/update_json", "POST", True, '0') response = request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(response.status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual(GlobalDictionaryJson.query().count(), 1) self.assertEqual(task_response[0].status_int, 200) server_json = json.loads(GlobalDictionaryJson.query().get().json) self.assertEqual(len(must_be), len(server_json)) for i in must_be: ok = False for j in server_json: if i["E"] == j["E"] and i["word"] == j["word"] and i["tags"] == j["tags"]: ok = True break self.assertTrue(ok) request = make_request("/api/global_dictionary/get_words/0", "GET", True, '0') response = request.get_response(main.app) server_json = json.loads(response.body) timestamp = server_json["timestamp"] words_time = datetime.fromtimestamp(0) for word in GlobalDictionaryWord.query().fetch(): words_time = max(words_time, word.timestamp) self.assertEqual(time.mktime(words_time.timetuple()) * 1000, timestamp) self.assertEqual(len(must_be), len(server_json["words"])) for i in must_be: ok = False for j in server_json["words"]: if i["E"] == j["E"] and i["word"] == j["word"] and i["tags"] == j["tags"]: ok = True break self.assertTrue(ok) request = make_request("/api/global_dictionary/get_words/{0}".format(timestamp), "GET", True, '0') response = request.get_response(main.app) self.assertEqual(json.loads(response.body)["words"], []) self.assertEqual(json.loads(response.body)["timestamp"], timestamp) time.sleep(1) request = make_request("/admin/global_dictionary/add_words", "POST", True, 'json=["f", "g", "h"]') request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(task_response[0].status_int, 200) request = make_request("/admin/global_dictionary/update_json", "POST", True, '0') request.get_response(main.app) task_response = self.run_tasks(1) self.assertEqual(task_response[0].status_int, 200) self.assertEqual(GlobalDictionaryWord.query().count(), 7) self.assertEqual(GlobalDictionaryJson.query().count(), 2) request = make_request("/api/global_dictionary/get_words/0", "GET", True, '0') response = request.get_response(main.app) self.assertEqual(len(json.loads(response.body)["words"]), 7)