示例#1
0
 def test_delete_right(self):
     gmr = GatewayKassirCreateResource()
     res = gmr.post()
     kassir = Kassir.from_json(res.data)
     gmr1 = GatewayKassirResource()
     res = gmr1.delete(str(kassir.id))
     self.assertEqual(res.status_code, 204)
 def test_post(self):
     mr = KassirCreateResource()
     res = mr.post()
     self.assertEqual(res.status_code, 201)
     kassir = Kassir.from_json(res.data)
     mr1 = KassirResource()
     mr1.delete(str(kassir.id))
 def test_get_right(self):
     mr1 = KassirResource()
     mr2 = KassirCreateResource()
     res = mr2.post()
     kassir = Kassir.from_json(res.data)
     res = mr1.get(str(kassir.id))
     self.assertEqual(res.status_code, 200)
     mr1.delete(str(kassir.id))
示例#4
0
 def get(self, kassir_id):
     if self.exists(kassir_id):
         kassir = Kassirs.query.get(kassir_id)
         return Kassir(kassir_id=kassir.mongo_id,
                       name=kassir.name,
                       stage=kassir.stage,
                       year=kassir.year)
     else:
         return None
示例#5
0
 def test_get_right(self):
     mr = KassirResource()
     mcr = KassirCreateResource()
     res = mcr.post()
     kassir = Kassir.from_json(res.data)
     gmr = GatewayKassirResource()
     res = gmr.get(str(kassir.id))
     self.assertEqual(res.status_code, 200)
     mr.delete(str(kassir.id))
示例#6
0
 def test_get_right(self):
     rep = KassirRepository()
     kassir_id = rep.create('a', 'a', 100)
     kassir1 = rep.get(kassir_id)
     kassir2 = Kassir(kassir_id=fields.ObjectId(kassir_id),
                      name='a',
                      razryad='a',
                      year=100)
     self.assertEqual(kassir1, kassir2)
     rep.delete(kassir_id)
示例#7
0
 def test_post(self):
     payload = {'name': 'test', 'razryad': 'test', 'year': 30}
     res = requests.post(current_config.KASSIR_SERVICE_URL +
                         current_config.KASSIR_SERVICE_PATH +
                         current_config.CREATE_PATH,
                         data=jsonpickle.encode(payload))
     self.assertEqual(res.status_code, 201)
     kassir = Kassir.from_json(res.content)
     requests.delete(current_config.KASSIR_SERVICE_URL +
                     current_config.KASSIR_SERVICE_PATH +
                     "/%s" % str(kassir.id))
示例#8
0
 def read_paginated(self, page_number, page_size):
     kassirs = []
     kassirs_paginated = Kassirs.query.paginate(page=page_number,
                                                per_page=page_size)
     for kassir in kassirs_paginated.items:
         kassirs.append(
             Kassir(kassir_id=kassir.mongo_id,
                    name=kassir.name,
                    stage=kassir.stage,
                    year=kassir.year))
     is_prev_num = (kassirs_paginated.prev_num > 0)
     is_next_num = (kassirs_paginated.next_num <= kassirs_paginated.pages)
     return kassirs, is_prev_num, is_next_num
示例#9
0
    def get(self, mag_id):
        app.logger.info('Получен запрос на получение подробной информации о магазине с идентификатором %s' % mag_id)
        req = requests.session()
        for cookie in flask.request.cookies:
            req.cookies[cookie] = flask.request.cookies[cookie]
        cookies = req.cookies
        token = cookies['token']

        response = requests.get(current_config.USER_SERVICE_URL + current_config.USER_SERVICE_PATH +
                                "/token", data=jsonpickle.encode({'token':token}))
        result = flask.Response(status=response.status_code, headers=response.headers.items(),
                                response=response.content)
        if result.status_code != 200:
            return result
        response_mag = requests.get(current_config.MAG_SERVICE_URL + current_config.MAG_SERVICE_PATH +
                                       "/%s" % mag_id)
        if response_mag.status_code == 200:
            app.logger.info('Запрос на получение информации о магазине с идентификатором %s успешно обработан'
                            % mag_id)
        else:
            app.logger.warning('Информация о магазине с идентификатором %s не модет быть получена' % mag_id)
            result = flask.Response(status=response_mag.status_code, headers=response_mag.headers.items(),
                                    response=response_mag.content)
            return result

        mag = Mag.from_json(response_mag.content)
        kassir_id = str(mag.kassir_id)

        try:
            response_kassir = requests.get(current_config.KASSIR_SERVICE_URL + current_config.KASSIR_SERVICE_PATH +
                                          "/%s" % kassir_id)
        except:
            response_kassir = None
        if response_kassir is not None and response_kassir.status_code == 200:
            app.logger.info('Запрос на получение информации о кассире с идентификатором %s успешно обработан'
                            % kassir_id)
            kassir = Kassir.from_json(response_kassir.content)
            response = mag.to_json() + '\n' + kassir.to_json()
        else:
            app.logger.warning('Информация о касире с идентификатором %s не модет быть получена' % kassir_id)
            kassir = {'kassir_id': 'Not available', 'name': 'Not available',
                     'stage': 'Not available', 'year': 'Not available'}
            response = mag.to_json() + '\n' + json.dumps(kassir)

        result = flask.Response(status=response_mag.status_code, headers=response_mag.headers.items(),
                                response=response)
        app.logger.info('Запрос на получение подробной информации о магазине с идентификатором %s успешно обработан'
                        % mag_id)
        return result