Files
tasks/common/rpc/dial_tracer_test.go
zeekay 5a601d081b rebrand: go.temporal.io/server -> github.com/hanzoai/tasks
Full module path rebrand from Temporal to Hanzo Tasks:
- go.mod module: github.com/hanzoai/tasks
- All internal Go imports updated (1906 files)
- cmd/server renamed to cmd/tasksd
- Binary name: tasksd (was temporal-server)
- Docker images: hanzoai/tasks (was temporalio/server)
- README rewritten with Hanzo Tasks branding
- LLM.md created with integration notes
- Makefile, goreleaser, CI workflows updated
- go.temporal.io/sdk and go.temporal.io/api imports preserved (separate repos)

Fork of Temporal.io (MIT license).
2026-03-19 10:36:40 -07:00

87 lines
2.0 KiB
Go

package rpc
import (
"context"
"net/http/httptrace"
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/metrics"
)
func TestDialTracer_DialSuccess(t *testing.T) {
t.Parallel()
addr := "127.0.0.1:1234"
dt := newDialTracer(addr, metrics.NoopMetricsHandler, log.NewNoopLogger())
ctx := context.Background()
ctx, ndt := dt.beginNetworkDial(ctx)
trace := httptrace.ContextClientTrace(ctx)
require.NotNil(t, trace)
trace.ConnectStart("tcp", addr)
rewind(&ndt.connectStart)
trace.ConnectDone("tcp", addr, nil)
dt.endNetworkDial(ndt, nil)
assert.Positive(t, ndt.connectDuration)
assert.Equal(t, addr, ndt.connectAddr)
assert.Nil(t, ndt.connectErr)
}
func TestDialTracer_DialError(t *testing.T) {
t.Parallel()
addr := "127.0.0.1:1234"
dt := newDialTracer(addr, metrics.NoopMetricsHandler, log.NewNoopLogger())
ctx := context.Background()
ctx, ndt := dt.beginNetworkDial(ctx)
trace := httptrace.ContextClientTrace(ctx)
require.NotNil(t, trace)
connectErr := assert.AnError
trace.ConnectStart("tcp", addr)
rewind(&ndt.connectStart)
trace.ConnectDone("tcp", addr, connectErr)
dt.endNetworkDial(ndt, nil)
assert.Positive(t, ndt.connectDuration)
assert.Equal(t, addr, ndt.connectAddr)
assert.Equal(t, connectErr, ndt.connectErr)
}
func TestDialTracer_NoConnectStart(t *testing.T) {
t.Parallel()
addr := "127.0.0.1:1234"
dt := newDialTracer(addr, metrics.NoopMetricsHandler, log.NewNoopLogger())
ctx := context.Background()
ctx, ndt := dt.beginNetworkDial(ctx)
trace := httptrace.ContextClientTrace(ctx)
require.NotNil(t, trace)
trace.ConnectDone("tcp", addr, nil)
dt.endNetworkDial(ndt, nil)
assert.Zero(t, ndt.connectDuration)
assert.Equal(t, addr, ndt.connectAddr)
assert.Nil(t, ndt.connectErr)
}
// rewind moves a timestamp back by 1 millisecond to ensure positive durations in tests
func rewind(ts *time.Time) {
*ts = ts.Add(-time.Millisecond)
}