Exemple #1
0
def view_search_stock_price(req):
    if req.method == 'GET':
        user_id = req.GET.get('user_id', None)
        api_key = req.GET.get('api_key', None)
        stock_symbol = req.GET.get('stock_symbol', None)
        check_stock = stockRepository()
        check_stock = check_stock.checkIfStockIsSoldToOthers(stock_symbol)
        if check_stock is not False:
            u = userRepository()
            u = u.getById(user_id)
            sold = {'sold': True, 'username': u.username}
        else:
            sold = False

        if all([user_id, api_key, stock_symbol]):
            if keyRepository(
                    api_key).getKeyBySk() == False and 'test' not in req.GET:
                response = returnResponse("Api key not found", {}, 'false',
                                          203)
                return JsonResponse(response, status=203, safe=False)
            elif not userRepository().getById(user_id):
                response = returnResponse(
                    "Unauthorize, check that 'user_id' is valid", {}, 'false',
                    401)
                return JsonResponse(response, status=401, safe=False)
            else:
                iex = iexRepository(settings.IEX_TOKEN_SK, stock_symbol)
                iex = iex.getStockViaClient()
                if iex is not False:
                    response = returnResponse(
                        "Query Successful", {
                            'latestPrice': iex['latestPrice'],
                            'iexRealtimePrice': iex['iexRealtimePrice'],
                            'extendedPrice': iex['iexRealtimePrice']
                        }, 'true', 200, sold)
                    return JsonResponse(response, status=200, safe=False)
                else:
                    response = returnResponse(
                        "IEX returned a query error, check your symbol and try again",
                        {}, 'false', 203)
                    return JsonResponse(response, status=203, safe=False)
        else:
            response = returnResponse(
                "Some stuffs are missing in your request", {}, 'false', 406)
            return JsonResponse(response, status=406, safe=False)
Exemple #2
0
def view_buy_stock(req):
    if req.method == 'GET':
        user_id = req.GET.get('user_id', None)
        stock_symbol = req.GET.get('stock_symbol', None)
        api_key = req.GET.get('api_key', None)
        if all([user_id, api_key, stock_symbol]):
            if keyRepository(
                    api_key).getKeyBySk() == False and 'test' not in req.GET:
                response = returnResponse("Api key not found", {}, 'false',
                                          203)
                return JsonResponse(response, status=203, safe=False)
            elif not userRepository().getById(user_id):
                response = returnResponse(
                    "Unauthorize, check that 'user_id' is valid", {}, 'false',
                    401)
                return JsonResponse(response, status=401, safe=False)
            else:
                iex = iexRepository(settings.IEX_TOKEN_SK, stock_symbol)
                iex = iex.getStockViaClient()
                if iex == False:
                    response = returnResponse(
                        "This stock does not exist on IEX", {}, 'false', 406)
                    return JsonResponse(response, status=406, safe=False)

                stock = stockRepository(req.GET)
                if stock.checkIfStockIsSoldToOthers(stock_symbol) is not False:
                    response = returnResponse("This stock has been purchased",
                                              {}, 'false', 406)
                    return JsonResponse(response, status=406, safe=False)
                if stock.buyStock(req.user.id):
                    response = returnResponse("Stock Successfully Purchased",
                                              {}, 'true', 200)
                    return JsonResponse(response, status=200, safe=False)
                else:
                    response = returnResponse(
                        "You could not purchase this stock, ensure you have enough in wallet",
                        {}, 'false', 406)
                    return JsonResponse(response, status=406, safe=False)
        else:
            response = returnResponse(
                "Some stuffs are missing in your request", {}, 'false', 406)
            return JsonResponse(response, status=406, safe=False)
 def test_if_latestytd_is_in_iex(self):
     data = iexRepository(settings.IEX_TOKEN_SK, 'ACAM').getStockQuote()
     print(data['ytdChange'])
     self.assertNotEqual(None, data['ytdChange'])
 def test_if_lateshighweek_is_in_iex(self):
     data = iexRepository(settings.IEX_TOKEN_SK, 'ACAM').getStockQuote()
     print(data['week52High'])
     self.assertNotEqual(None, data['week52High'])
 def test_if_companyname_is_in_iex(self):
     data = iexRepository(settings.IEX_TOKEN_SK, 'ACAM').getStockQuote()
     print(data['companyName'])
     self.assertNotEqual(None, data['companyName'])
 def test_multiple_stock_quotes(self):
     print("Be sure multiple stocks can be collected from IEX")
     data = iexRepository(settings.IEX_TOKEN_SK).getMultipleStocks(
         ['AAPL', 'SE', 'ACAM'])
     self.assertNotEqual(False, data)
 def test_stock_quote_via_client(self):
     print("Be sure stock price can be collected from IEX")
     data = iexRepository(settings.IEX_TOKEN_SK, 'ACAM').getStockViaClient()
     self.assertNotEqual(False, data)
 def test_stock_quote(self):
     print("Be sure stock quotes can be collected from IEX")
     data = iexRepository(settings.IEX_TOKEN_SK, 'ACAM').getStockQuote()
     self.assertNotEqual(False, data)