(t *testing.T)
| 738 | } |
| 739 | |
| 740 | func TestQueueTransactionFlow(t *testing.T) { |
| 741 | // Skip in short mode as this is a long-running test |
| 742 | if testing.Short() { |
| 743 | t.Skip("Skipping queue flow test in short mode") |
| 744 | } |
| 745 | |
| 746 | // Initialize test context |
| 747 | ctx := context.Background() |
| 748 | |
| 749 | // Setup real test configuration |
| 750 | cnf := &config.Configuration{ |
| 751 | Redis: config.RedisConfig{ |
| 752 | Dns: "localhost:6379", |
| 753 | }, |
| 754 | DataSource: config.DataSourceConfig{ |
| 755 | Dns: "postgres://postgres:password@localhost:5432/ledgerforge?sslmode=disable", |
| 756 | }, |
| 757 | Queue: config.QueueConfig{ |
| 758 | WebhookQueue: "webhook_queue_test", |
| 759 | IndexQueue: "index_queue_test", |
| 760 | TransactionQueue: "transaction_queue_test", |
| 761 | NumberOfQueues: 1, |
| 762 | }, |
| 763 | Server: config.ServerConfig{ |
| 764 | SecretKey: "test-secret", |
| 765 | }, |
| 766 | Transaction: config.TransactionConfig{ |
| 767 | BatchSize: 100, |
| 768 | MaxQueueSize: 1000, |
| 769 | LockDuration: time.Second * 30, |
| 770 | IndexQueuePrefix: "test_index", |
| 771 | }, |
| 772 | } |
| 773 | config.ConfigStore.Store(cnf) |
| 774 | |
| 775 | // Create real datasource for integration test |
| 776 | ds, err := database.NewDataSource(cnf) |
| 777 | require.NoError(t, err, "Failed to create datasource") |
| 778 | |
| 779 | // Create real LedgerForge instance |
| 780 | ledgerforge, err := NewLedgerForge(ds) |
| 781 | require.NoError(t, err, "Failed to create LedgerForge instance") |
| 782 | |
| 783 | txnRef := "txn_" + model.GenerateUUIDWithSuffix("test") |
| 784 | |
| 785 | // Create source balance |
| 786 | sourceBalance := &model.Balance{ |
| 787 | Currency: "USD", |
| 788 | LedgerID: "general_ledger_id", |
| 789 | } |
| 790 | |
| 791 | // Create destination balance |
| 792 | destBalance := &model.Balance{ |
| 793 | Currency: "USD", |
| 794 | LedgerID: "general_ledger_id", |
| 795 | } |
| 796 | |
| 797 | // Create balances in database |
nothing calls this directly
no test coverage detected