(cfg *common.Config, t *testing.T)
| 7765 | } |
| 7766 | |
| 7767 | func createServerTestFixtures(cfg *common.Config, t *testing.T) ( |
| 7768 | func(body string, headers map[string]string, queryParams map[string]string) (int, map[string]string, string), |
| 7769 | func(host string) (int, map[string]string, string), |
| 7770 | string, |
| 7771 | func(), |
| 7772 | *ERPC, |
| 7773 | ) { |
| 7774 | logger := log.Logger |
| 7775 | ctx, cancel := context.WithCancel(context.Background()) |
| 7776 | |
| 7777 | var ssr data.SharedStateRegistry |
| 7778 | var err error |
| 7779 | if cfg != nil && cfg.Database != nil && cfg.Database.SharedState != nil { |
| 7780 | ssr, err = data.NewSharedStateRegistry(ctx, &logger, cfg.Database.SharedState) |
| 7781 | } else { |
| 7782 | ssr, err = data.NewSharedStateRegistry(ctx, &logger, &common.SharedStateConfig{ |
| 7783 | Connector: &common.ConnectorConfig{ |
| 7784 | Driver: "memory", |
| 7785 | Memory: &common.MemoryConnectorConfig{ |
| 7786 | MaxItems: 100_000, MaxTotalSize: "1GB", |
| 7787 | }, |
| 7788 | }, |
| 7789 | }) |
| 7790 | } |
| 7791 | if err != nil { |
| 7792 | panic(err) |
| 7793 | } |
| 7794 | |
| 7795 | // Apply defaults to set up IPv4 server configuration if cfg is provided |
| 7796 | if cfg != nil { |
| 7797 | err = cfg.SetDefaults(nil) |
| 7798 | require.NoError(t, err) |
| 7799 | |
| 7800 | // Force IPv4 server to be enabled for all tests (override test mode defaults) |
| 7801 | // In test mode, SetDefaults() doesn't enable IPv4 unless FORCE_TEST_LISTEN_V4=true |
| 7802 | if cfg.Server != nil { |
| 7803 | cfg.Server.ListenV4 = util.BoolPtr(true) |
| 7804 | } |
| 7805 | } |
| 7806 | |
| 7807 | // Wire the EVM JSON-RPC cache from config like production init does, so |
| 7808 | // caching-related tests exercise the real cache layer. |
| 7809 | var evmJsonRpcCache *evm.EvmJsonRpcCache |
| 7810 | if cfg != nil && cfg.Database != nil && cfg.Database.EvmJsonRpcCache != nil { |
| 7811 | evmJsonRpcCache, err = evm.NewEvmJsonRpcCache(ctx, &logger, cfg.Database.EvmJsonRpcCache) |
| 7812 | require.NoError(t, err) |
| 7813 | } |
| 7814 | |
| 7815 | erpcInstance, err := NewERPC(ctx, &logger, ssr, evmJsonRpcCache, cfg) |
| 7816 | require.NoError(t, err) |
| 7817 | |
| 7818 | // Callback now set at construction; do not mutate in tests |
| 7819 | |
| 7820 | erpcInstance.Bootstrap(ctx) |
| 7821 | require.NoError(t, err) |
| 7822 | |
| 7823 | httpServer, err := NewHttpServer(ctx, &logger, cfg.Server, cfg.HealthCheck, cfg.Admin, erpcInstance) |
| 7824 | require.NoError(t, err) |
no test coverage detected