fixed failing tests

This commit is contained in:
Stephan D
2026-03-03 11:53:04 +01:00
parent 3d1157a5d3
commit d28e8615a9
13 changed files with 76 additions and 76 deletions

View File

@@ -155,16 +155,16 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM=
go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms=
go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g=
go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g=
go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc=
go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c=
go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE=
go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ=
go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps=
go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18=
go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE=
go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8=
go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew=
go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw=
go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA=
go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0=
go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=

View File

@@ -32,9 +32,9 @@ type FPInput struct {
// ReuseInput defines lookup and comparison inputs for idempotency reuse checks.
type ReuseInput struct {
OrganizationID bson.ObjectID
IdempotencyKey string
Fingerprint string
OrganizationRef bson.ObjectID
IdempotencyKey string
Fingerprint string
}
// CreateInput wraps create operation with reuse-check context for duplicate races.

View File

@@ -19,9 +19,9 @@ func TestTryReuse_NotFound(t *testing.T) {
}
payment, reused, err := svc.TryReuse(context.Background(), store, ReuseInput{
OrganizationID: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
OrganizationRef: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
})
if err != nil {
t.Fatalf("TryReuse returned error: %v", err)
@@ -47,9 +47,9 @@ func TestTryReuse_ParamMismatch(t *testing.T) {
}
_, _, err := svc.TryReuse(context.Background(), store, ReuseInput{
OrganizationID: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "new-hash",
OrganizationRef: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "new-hash",
})
if !errors.Is(err, ErrIdempotencyParamMismatch) {
t.Fatalf("expected ErrIdempotencyParamMismatch, got %v", err)
@@ -71,9 +71,9 @@ func TestTryReuse_Success(t *testing.T) {
}
payment, reused, err := svc.TryReuse(context.Background(), store, ReuseInput{
OrganizationID: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
OrganizationRef: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
})
if err != nil {
t.Fatalf("TryReuse returned error: %v", err)
@@ -98,9 +98,9 @@ func TestCreateOrReuse_CreateSuccess(t *testing.T) {
got, reused, err := svc.CreateOrReuse(context.Background(), store, CreateInput{
Payment: newPayment,
Reuse: ReuseInput{
OrganizationID: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
OrganizationRef: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
},
})
if err != nil {
@@ -136,9 +136,9 @@ func TestCreateOrReuse_DuplicateReturnsExisting(t *testing.T) {
got, reused, err := svc.CreateOrReuse(context.Background(), store, CreateInput{
Payment: newPayment,
Reuse: ReuseInput{
OrganizationID: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
OrganizationRef: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
},
})
if err != nil {
@@ -168,9 +168,9 @@ func TestCreateOrReuse_DuplicateParamMismatch(t *testing.T) {
_, _, err := svc.CreateOrReuse(context.Background(), store, CreateInput{
Payment: &model.Payment{PaymentRef: "pay-new"},
Reuse: ReuseInput{
OrganizationID: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "new-hash",
OrganizationRef: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "new-hash",
},
})
if !errors.Is(err, ErrIdempotencyParamMismatch) {
@@ -190,9 +190,9 @@ func TestCreateOrReuse_DuplicateWithoutReusableRecordReturnsDuplicate(t *testing
_, _, err := svc.CreateOrReuse(context.Background(), store, CreateInput{
Payment: &model.Payment{PaymentRef: "pay-new"},
Reuse: ReuseInput{
OrganizationID: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
OrganizationRef: bson.NewObjectID(),
IdempotencyKey: "idem-1",
Fingerprint: "hash-1",
},
})
if !errors.Is(err, storage.ErrDuplicatePayment) {

View File

@@ -27,7 +27,7 @@ func (s *svc) TryReuse(
) (payment *model.Payment, reused bool, err error) {
logger := s.logger
logger.Debug("Starting Try reuse",
mzap.ObjRef("organization_ref", payment.OrganizationRef),
mzap.ObjRef("organization_ref", in.OrganizationRef),
zap.Bool("has_idempotency_key", strings.TrimSpace(in.IdempotencyKey) != ""),
)
defer func(start time.Time) {
@@ -54,7 +54,7 @@ func (s *svc) TryReuse(
return nil, false, err
}
payment, err = store.GetByIdempotencyKey(ctx, in.OrganizationID, idempotencyKey)
payment, err = store.GetByIdempotencyKey(ctx, in.OrganizationRef, idempotencyKey)
if err != nil {
if errors.Is(err, storage.ErrPaymentNotFound) || errors.Is(err, merrors.ErrNoData) {
return nil, false, nil
@@ -79,7 +79,7 @@ func (s *svc) CreateOrReuse(
) (payment *model.Payment, reused bool, err error) {
logger := s.logger
logger.Debug("Starting Create or reuse",
zap.String("organization_ref", in.Reuse.OrganizationID.Hex()),
zap.String("organization_ref", in.Reuse.OrganizationRef.Hex()),
zap.Bool("has_payment", in.Payment != nil),
zap.Bool("has_idempotency_key", strings.TrimSpace(in.Reuse.IdempotencyKey) != ""),
)
@@ -130,7 +130,7 @@ func (s *svc) CreateOrReuse(
}
func validateReuseInput(in ReuseInput) (string, string, error) {
if in.OrganizationID.IsZero() {
if in.OrganizationRef.IsZero() {
return "", "", merrors.InvalidArgument("organization_id is required")
}

View File

@@ -155,16 +155,16 @@ go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM=
go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms=
go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g=
go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g=
go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc=
go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c=
go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE=
go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ=
go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps=
go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18=
go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE=
go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8=
go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew=
go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw=
go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA=
go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0=
go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=