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"]))
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
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"]))
Ejemplo n.º 5
0
 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)
Ejemplo n.º 7
0
    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)