CodeSampleX

Exemple

github.com/jackc/pgx/v5 v5.7.4: ParseConfig

Échantillon vérifié pour golang github.com/jackc/pgx/v5 v5.7.4: ParseConfig. Le contrat s'est exécuté sur go 1.26 · linux debian/x64 · docker et a réussi.

sha256:99240e8dd0b7b0ea834c444924dcb20463fa2e42b8821508ebf0a7bf2e5d79ce

Ce réseau offre une seule chose : un échantillon qui compile. Il l'a exécuté dans un bac à sable et conservé le reçu signé. Il ne note rien et ne garantit rien : si le même code compile chez vous, il ne l'a pas mesuré. Combien de clés de signature distinctes ont déposé un reçu de contrat réussi. Une seule, c'est l'auteur ; plus d'une signifie que quelqu'un d'autre l'a compilé aussi. Une clé est auto-générée sans identité enregistrée derrière, donc on compte des clés, pas des personnes. MIT-0

Preuves d'exécution

L'environnement déclaré et les exécutions signées sont séparés, pour que vous voyiez exactement ce que cet échantillon a exécuté et où.

Base de preuve
Contrat signé réussi
Reçus de vérification
1
Clés de signature qui l’ont compilé
1
Environnement déclaré go linux 24 · ubuntu · glibc 2.39 x64 go go go

Environnements des exécutions de vérification

Environnement Contrat Étapes Exécution
go 1.26 · linux debian/x64 · docker ed25519:c1973797be207ac4 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1golang:1.26@sha256:e30143be198a…
2026-09-08

Cas

HOW
Objectif
verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.4
Paquets
Symboles
  • github.com/jackc/pgx/v5.ParseConfig
Environnement
go
Créé
2026-09-08T17:57:51Z

Contrat

  1. pgx.ParseConfig parses standard PostgreSQL URL connection strings into ConnConfig with expected host, port, user, password, and database.
  2. pgx.ParseConfig parses key-value DSN connection strings into ConnConfig.
  3. pgx.ParseConfig parses URL query parameters into ConnConfig RuntimeParams and connection options.
  4. pgx.ParseConfig returns a non-nil error when given an invalid connection string or invalid parameter values.
  5. pgx.ParseConfig configures TLS settings according to sslmode parameter.

Fichiers

  • NOTES.md
  • PROMPT.md
  • csx.json
  • go.mod
  • go.sum
  • main.go
  • spec.json
  • test/contract.go

Télécharger l’artefact source (tar.gz)

Code source

NOTES.md
# Parsing Connection Strings with pgx.ParseConfig

Demonstrates parsing PostgreSQL connection strings using `github.com/jackc/pgx/v5.ParseConfig` in `pkg:golang/github.com/jackc/pgx/v5@v5.7.4`.

## Verified Behaviors

1. Standard PostgreSQL URL parsing (`postgres://user:password@host:port/dbname`).
2. DSN key-value connection string parsing (`host=localhost port=5433 dbname=...`).
3. Parsing URL query parameters into `RuntimeParams` and connection options like `connect_timeout`.
4. Returning non-nil error when parsing invalid connection strings or invalid port values.
5. Handling `sslmode` parameter (disabling or requiring TLS configuration).
PROMPT.md
Clean-room public code sample — generation instructions

Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.

A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.

Goal: verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.4
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:golang/github.com/jackc/pgx/v5@v5.7.4
Demonstrate these symbols/APIs:
  - github.com/jackc/pgx/v5.ParseConfig

Rules:
  - One focused purpose; the smallest project that proves the goal.
  - Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
  - Pin every dependency with a lockfile so resolution is reproducible.
  - No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
  - No personal names, emails, company names, or project identifiers of any kind.
  - No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
  - Keep it under 200 files and 256KB packed.
csx.json
{"case":{"caseId":"case:sha256:e121a12270443c42d8d15a7ecb6723abfa08baa7ee133e3d19aabf40c171452c","contract":["pgx.ParseConfig parses standard PostgreSQL URL connection strings into ConnConfig with expected host, port, user, password, and database.","pgx.ParseConfig parses key-value DSN connection strings into ConnConfig.","pgx.ParseConfig parses URL query parameters into ConnConfig RuntimeParams and connection options.","pgx.ParseConfig returns a non-nil error when given an invalid connection string or invalid parameter values.","pgx.ParseConfig configures TLS settings according to sslmode parameter."],"goal":"verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.4","kind":"HOW","packages":["pkg:golang/github.com/jackc/pgx/v5@v5.7.4"],"schemaVersion":1,"symbols":["github.com/jackc/pgx/v5.ParseConfig"]},"contractCommand":["go","run","./test"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"golang","language":"go","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"go","runtime":"go","schemaVersion":1},"license":"MIT-0","packages":["pkg:golang/github.com/jackc/pgx/v5@v5.7.4"],"schemaVersion":1,"subject":"pkg:golang/github.com/jackc/pgx/v5@v5.7.4","symbols":["github.com/jackc/pgx/v5.ParseConfig"],"verifierAdapter":"golang@1"}
go.mod
module sample

go 1.25.0

require github.com/jackc/pgx/v5 v5.7.4

require (
	github.com/jackc/pgpassfile v1.0.0 // indirect
	github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
	golang.org/x/crypto v0.31.0 // indirect
	golang.org/x/text v0.29.0 // indirect
)
go.sum
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5 v5.7.4 h1:9wKznZrhWa2QiHL+NjTSPP6yjl3451BX3imWDnokYlg=
github.com/jackc/pgx/v5 v5.7.4/go.mod h1:ncY89UGWxg82EykZUwSpUKEfccBGGYq1xjrOpsbsfGQ=
github.com/jackc/pgx/v5 v5.11.0 h1:IzBBtyK9AHqf98cctWFifYSci2hgQR/cd56wB4p+ogg=
github.com/jackc/pgx/v5 v5.11.0/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4=
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
main.go
package main

import (
	"fmt"

	"github.com/jackc/pgx/v5"
)

func main() {
	connStr := "postgres://demo_user:demo_pass@localhost:5432/demo_db?sslmode=disable&application_name=demo_app"
	config, err := pgx.ParseConfig(connStr)
	if err != nil {
		fmt.Printf("failed to parse connection string: %v\n", err)
		return
	}

	fmt.Printf("Host: %s, Port: %d, Database: %s, User: %s, App: %s\n",
		config.Host, config.Port, config.Database, config.User, config.RuntimeParams["application_name"])
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify github.com/jackc/pgx/v5.ParseConfig in pkg:golang/github.com/jackc/pgx/v5@v5.7.4",
  "kind": "HOW",
  "packages": [
    "pkg:golang/github.com/jackc/pgx/v5@v5.7.4"
  ],
  "symbols": [
    "github.com/jackc/pgx/v5.ParseConfig"
  ]
}
test/contract.go
package main

import (
	"fmt"
	"os"
	"time"

	"github.com/jackc/pgx/v5"
)

func main() {
	// Assertion 1: pgx.ParseConfig parses standard PostgreSQL URL connection strings into ConnConfig
	{
		connStr := "postgres://sample_user:sample_pass@localhost:5432/sample_db"
		cfg, err := pgx.ParseConfig(connStr)
		if err != nil {
			fmt.Fprintf(os.Stderr, "assertion 1 failed: unexpected error: %v\n", err)
			os.Exit(1)
		}
		if cfg.Host != "localhost" || cfg.Port != 5432 || cfg.User != "sample_user" || cfg.Password != "sample_pass" || cfg.Database != "sample_db" {
			fmt.Fprintf(os.Stderr, "assertion 1 failed: parsed field mismatch: %+v\n", cfg)
			os.Exit(1)
		}
	}

	// Assertion 2: pgx.ParseConfig parses key-value DSN connection strings into ConnConfig
	{
		connStr := "host=localhost port=5433 dbname=dsn_db user=dsn_user password=dsn_pass sslmode=disable"
		cfg, err := pgx.ParseConfig(connStr)
		if err != nil {
			fmt.Fprintf(os.Stderr, "assertion 2 failed: unexpected error: %v\n", err)
			os.Exit(1)
		}
		if cfg.Host != "localhost" || cfg.Port != 5433 || cfg.User != "dsn_user" || cfg.Password != "dsn_pass" || cfg.Database != "dsn_db" {
			fmt.Fprintf(os.Stderr, "assertion 2 failed: parsed field mismatch: %+v\n", cfg)
			os.Exit(1)
		}
	}

	// Assertion 3: pgx.ParseConfig parses URL query parameters into ConnConfig RuntimeParams and connection options
	{
		connStr := "postgres://localhost:5432/mydb?application_name=sample_app&search_path=public,custom&connect_timeout=15"
		cfg, err := pgx.ParseConfig(connStr)
		if err != nil {
			fmt.Fprintf(os.Stderr, "assertion 3 failed: unexpected error: %v\n", err)
			os.Exit(1)
		}
		if cfg.RuntimeParams["application_name"] != "sample_app" {
			fmt.Fprintf(os.Stderr, "assertion 3 failed: application_name mismatch: %q\n", cfg.RuntimeParams["application_name"])
			os.Exit(1)
		}
		if cfg.RuntimeParams["search_path"] != "public,custom" {
			fmt.Fprintf(os.Stderr, "assertion 3 failed: search_path mismatch: %q\n", cfg.RuntimeParams["search_path"])
			os.Exit(1)
		}
		if cfg.ConnectTimeout != 15*time.Second {
			fmt.Fprintf(os.Stderr, "assertion 3 failed: connect_timeout mismatch: %v\n", cfg.ConnectTimeout)
			os.Exit(1)
		}
	}

	// Assertion 4: pgx.ParseConfig returns a non-nil error when given an invalid connection string or invalid parameter values
	{
		invalidConnStr := "host=localhost port=not_a_number"
		_, err := pgx.ParseConfig(invalidConnStr)
		if err == nil {
			fmt.Fprintf(os.Stderr, "assertion 4 failed: expected error for invalid port, got nil\n")
			os.Exit(1)
		}
	}

	// Assertion 5: pgx.ParseConfig configures TLS settings according to sslmode parameter
	{
		disableStr := "postgres://localhost:5432/mydb?sslmode=disable"
		cfgDisable, err := pgx.ParseConfig(disableStr)
		if err != nil {
			fmt.Fprintf(os.Stderr, "assertion 5 failed: unexpected error for sslmode=disable: %v\n", err)
			os.Exit(1)
		}
		if cfgDisable.TLSConfig != nil {
			fmt.Fprintf(os.Stderr, "assertion 5 failed: expected nil TLSConfig for sslmode=disable\n")
			os.Exit(1)
		}

		requireStr := "postgres://localhost:5432/mydb?sslmode=require"
		cfgRequire, err := pgx.ParseConfig(requireStr)
		if err != nil {
			fmt.Fprintf(os.Stderr, "assertion 5 failed: unexpected error for sslmode=require: %v\n", err)
			os.Exit(1)
		}
		if cfgRequire.TLSConfig == nil {
			fmt.Fprintf(os.Stderr, "assertion 5 failed: expected non-nil TLSConfig for sslmode=require\n")
			os.Exit(1)
		}
	}

	fmt.Println("All contract assertions passed successfully.")
}

Seeder d'origine

anonyme