Added support for env variables and added basic tests for Alpaca.
This commit is contained in:
parent
6dc8ecaf26
commit
7ceb69e9d5
@ -8,6 +8,7 @@ const config: Config.InitialOptions =
|
||||
},
|
||||
|
||||
collectCoverageFrom: ['src/*.ts'],
|
||||
verbose: false,
|
||||
}
|
||||
|
||||
export default config
|
20
package-lock.json
generated
20
package-lock.json
generated
@ -10,6 +10,7 @@
|
||||
"license": "GPL-3.0-or-later",
|
||||
"dependencies": {
|
||||
"@alpacahq/alpaca-trade-api": "^3.0.1",
|
||||
"dotenv": "^16.3.1",
|
||||
"winston": "^3.10.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -56,6 +57,14 @@
|
||||
"npm": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@alpacahq/alpaca-trade-api/node_modules/dotenv": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
|
||||
"integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@ampproject/remapping": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
|
||||
@ -2429,11 +2438,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
|
||||
"integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==",
|
||||
"version": "16.3.1",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
|
||||
"integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/motdotla/dotenv?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
|
@ -29,6 +29,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@alpacahq/alpaca-trade-api": "^3.0.1",
|
||||
"dotenv": "^16.3.1",
|
||||
"winston": "^3.10.0"
|
||||
}
|
||||
}
|
||||
|
34
test/alpaca.test.ts
Normal file
34
test/alpaca.test.ts
Normal file
@ -0,0 +1,34 @@
|
||||
import { describe, expect, test } from '@jest/globals';
|
||||
import 'dotenv/config'
|
||||
import { AlpacaExchange } from '../src/alpaca/exchange'
|
||||
import { createLogger, transports, format } from "winston";
|
||||
|
||||
const logger = createLogger({
|
||||
transports: [new transports.Console()],
|
||||
format: format.combine(
|
||||
format.colorize(),
|
||||
format.timestamp(),
|
||||
format.printf(({ timestamp, level, message, service }) => {
|
||||
return `[${timestamp}] ${service} ${level}: ${message}`;
|
||||
})
|
||||
),
|
||||
defaultMeta: {
|
||||
service: "AlpacaTest",
|
||||
},
|
||||
});
|
||||
|
||||
describe('Alpaca Tests', () => {
|
||||
test('portfolio fetch', () => {
|
||||
expect(process.env.ALPACA_API_KEY).toBeDefined();
|
||||
expect(process.env.ALPACA_SECRET_KEY).toBeDefined();
|
||||
let exchange = new AlpacaExchange(process.env.ALPACA_API_KEY!, process.env.ALPACA_SECRET_KEY!, true);
|
||||
expect(exchange.portfolioProvider.fetchPortfolio()).resolves;
|
||||
});
|
||||
|
||||
test('quote fetch', async () => {
|
||||
expect(process.env.ALPACA_API_KEY).toBeDefined();
|
||||
expect(process.env.ALPACA_SECRET_KEY).toBeDefined();
|
||||
let exchange = new AlpacaExchange(process.env.ALPACA_API_KEY!, process.env.ALPACA_SECRET_KEY!, true);
|
||||
expect(exchange.quoteProvider.fetchQuote("AAPL")).resolves;
|
||||
});
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user