work on qm filings
This commit is contained in:
parent
710577eb3d
commit
960daf4cad
17 changed files with 2319 additions and 32 deletions
118
apps/stock/data-ingestion/test/test-symbol-x.ts
Normal file
118
apps/stock/data-ingestion/test/test-symbol-x.ts
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
/**
|
||||
* Test script specifically for symbol X operations
|
||||
*/
|
||||
|
||||
import { QMHandler } from '../src/handlers/qm/qm.handler';
|
||||
import { OperationTracker } from '../src/shared/operation-manager';
|
||||
import type { DataIngestionServices } from '../src/types';
|
||||
|
||||
// Simple test to check operations for symbol X
|
||||
async function testSymbolXOperations() {
|
||||
console.log('=== Testing Operations for Symbol X ===\n');
|
||||
|
||||
// Mock minimal services needed
|
||||
const mockServices: Partial<DataIngestionServices> = {
|
||||
mongodb: {
|
||||
collection: (name: string) => ({
|
||||
find: () => ({
|
||||
toArray: async () => {
|
||||
console.log(`Querying collection: ${name}`);
|
||||
if (name === 'qmSymbols') {
|
||||
return [{
|
||||
symbol: 'X',
|
||||
symbolId: 123456,
|
||||
qmSearchCode: 'X:NYSE',
|
||||
exchange: 'NYSE',
|
||||
name: 'United States Steel Corporation'
|
||||
}];
|
||||
}
|
||||
return [];
|
||||
}
|
||||
}),
|
||||
findOne: async (query: any) => {
|
||||
console.log(`Finding one in ${name}:`, query);
|
||||
return null;
|
||||
},
|
||||
updateOne: async (filter: any, update: any, options: any) => {
|
||||
console.log(`Updating ${name}:`, { filter, update });
|
||||
return { modifiedCount: 1 };
|
||||
}
|
||||
}),
|
||||
find: async (collection: string, query: any) => {
|
||||
console.log(`Direct find on ${collection}:`, query);
|
||||
if (collection === 'qmSymbols' && query.symbol === 'X') {
|
||||
return [{
|
||||
symbol: 'X',
|
||||
symbolId: 123456,
|
||||
qmSearchCode: 'X:NYSE'
|
||||
}];
|
||||
}
|
||||
return [];
|
||||
}
|
||||
} as any,
|
||||
logger: {
|
||||
info: (msg: string, data?: any) => console.log(`[INFO] ${msg}`, data || ''),
|
||||
error: (msg: string, data?: any) => console.error(`[ERROR] ${msg}`, data || ''),
|
||||
warn: (msg: string, data?: any) => console.warn(`[WARN] ${msg}`, data || ''),
|
||||
debug: (msg: string, data?: any) => console.debug(`[DEBUG] ${msg}`, data || '')
|
||||
}
|
||||
} as DataIngestionServices;
|
||||
|
||||
// Test 1: Check stale operations for symbol X
|
||||
console.log('Test 1: Get stale operations for symbol X');
|
||||
console.log('------------------------------------------');
|
||||
|
||||
const tracker = new OperationTracker(mockServices as any);
|
||||
|
||||
try {
|
||||
// Check each operation type
|
||||
const operations = [
|
||||
'symbol_info',
|
||||
'price_update',
|
||||
'intraday_bars',
|
||||
'financials_update_quarterly',
|
||||
'financials_update_annual',
|
||||
'events_update',
|
||||
'filings_update',
|
||||
'insiders_update',
|
||||
'news_update'
|
||||
];
|
||||
|
||||
for (const operation of operations) {
|
||||
console.log(`\nChecking ${operation}:`);
|
||||
|
||||
const staleSymbols = await tracker.getStaleSymbols('qm', operation, {
|
||||
minHoursSinceRun: 0, // Get all symbols regardless of last run
|
||||
limit: 10,
|
||||
symbolFilter: { symbol: 'X' } // Only get symbol X
|
||||
});
|
||||
|
||||
console.log(`Found ${staleSymbols.length} stale symbols:`, staleSymbols);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error checking stale symbols:', error);
|
||||
}
|
||||
|
||||
// Test 2: Check intraday crawl status for symbol X
|
||||
console.log('\n\nTest 2: Check intraday crawl status for symbol X');
|
||||
console.log('------------------------------------------------');
|
||||
|
||||
try {
|
||||
const symbolsForCrawl = await tracker.getSymbolsForIntradayCrawl('intraday_bars', {
|
||||
limit: 10,
|
||||
symbolFilter: { symbol: 'X' }
|
||||
});
|
||||
|
||||
console.log(`Found ${symbolsForCrawl.length} symbols for intraday crawl`);
|
||||
if (symbolsForCrawl.length > 0) {
|
||||
console.log('Symbol details:', JSON.stringify(symbolsForCrawl[0], null, 2));
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error checking intraday crawl:', error);
|
||||
}
|
||||
|
||||
console.log('\n=== Tests Complete ===');
|
||||
}
|
||||
|
||||
// Run the test
|
||||
testSymbolXOperations().catch(console.error);
|
||||
Loading…
Add table
Add a link
Reference in a new issue