def test_get_stocks(self): """ Test main call that gets info on stocks by their symbols """ symbols = ["YHOO", "AAPL", "fakeStock", "MSFT"] stocks = get_info(symbols) self.assertEqual(len(stocks), 3) self.assertEqual(stocks[0].StockExchange, "NMS") # self.assertEqual(stocks[2].Symbol, 'MSFT') cp = stocks[0].recent_close_prices # Assuming yahoo does become terrible or super successful... if len(cp) < 3 or cp[2] < 0.05 or cp[2] > 9999.5: self.fail("Wrong close prices")
def get(self): data = self.request.get('symbols').split(',') query = [str(word) for word in data] stocks = get_info(query) symbols = [s.symbol for s in stocks] matrix = get_correlation_matrix(stocks).tolist() self.response.headers['Content-Type'] = 'application/json' response = { 'query': query, 'symbols': symbols, 'stocks': [s.__dict__ for s in stocks], 'matrix': matrix } self.response.out.write(json.dumps(response))
def test_get_zero_stocks(self): """ Test call to getting zero stocks """ stocks = get_info([]) self.assertEqual(stocks, [])