MCPcopy Create free account
hub / github.com/erpc/erpc / createServerTestFixtures

Function createServerTestFixtures

erpc/http_server_test.go:7767–7918  ·  view source on GitHub ↗
(cfg *common.Config, t *testing.T)

Source from the content-addressed store, hash-verified

7765}
7766
7767func 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)

Calls 15

BootstrapMethod · 0.95
NewSharedStateRegistryFunction · 0.92
BoolPtrFunction · 0.92
NewEvmJsonRpcCacheFunction · 0.92
NewERPCFunction · 0.85
NewHttpServerFunction · 0.85
AddrMethod · 0.80
ServeMethod · 0.80
ErrorfMethod · 0.80
SetMethod · 0.65
AddMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected