MCPcopy Create free account
hub / github.com/PostHog/duckgres / TestOpenBaseDBFilePersistence

Function TestOpenBaseDBFilePersistence

server/server_test.go:595–630  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

593 return
594 }
595 if !strings.Contains(err.Error(), "unsupported ACME DNS provider") {
596 t.Fatalf("expected unsupported provider error, got: %v", err)
597 }
598}
599
600func TestNewRejectsACMEDNSProviderWithoutDomain(t *testing.T) {
601 _, err := New(Config{
602 ACMEDNSProvider: "route53",
603 })
604 if err == nil {
605 t.Fatal("expected error when ACME DNS provider is set without ACME domain")
606 return
607 }
608 if !strings.Contains(err.Error(), "ACME DNS provider requires ACME domain") {
609 t.Fatalf("expected missing domain error, got: %v", err)
610 }
611}
612
613func TestStartCredentialRefresh_RollbackAndRetryWhenNoActiveTransaction(t *testing.T) {
614 oldInterval := credentialRefreshInterval
615 credentialRefreshInterval = 5 * time.Millisecond
616 defer func() { credentialRefreshInterval = oldInterval }()
617
618 execer := &mockRefreshExecer{
619 secretErrFn: func(callNum int) error {
620 if callNum == 1 {
621 return errors.New("TransactionContext Error: Current transaction is aborted (please ROLLBACK)")
622 }
623 return nil
624 },
625 }
626
627 stop := StartCredentialRefresh(execer, DuckLakeConfig{
628 ObjectStore: "s3://bucket/path/",
629 S3Provider: "credential_chain",
630 }, func() bool { return false })
631
632 waitForCalls(t, 250*time.Millisecond, func() bool {
633 secretCalls, rollbackCalls := execer.calls()

Callers

nothing calls this directly

Calls 4

openBaseDBFunction · 0.85
ExecMethod · 0.65
CloseMethod · 0.65
ScanMethod · 0.65

Tested by

no test coverage detected