Diff of the two buildlogs: -- --- b1/build.log 2025-03-17 08:11:39.686085256 +0000 +++ b2/build.log 2025-03-17 08:13:33.204994267 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Apr 19 02:33:38 -12 2026 -I: pbuilder-time-stamp: 1776609218 +I: Current time: Mon Mar 17 22:11:42 +14 2025 +I: pbuilder-time-stamp: 1742199102 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -24,52 +24,84 @@ dpkg-source: info: applying 0001-skip-tests-which-failed-due-to-dh-golang.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2933167/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Mar 17 08:11 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='8bfb4046085641a68213b486e4f43e34' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='2933167' - PS1='# ' - PS2='> ' + INVOCATION_ID=19ac75eaa5494138aed7ddc907652acf + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2053250 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.8xrTwZqk/pbuilderrc_Pbl0 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8xrTwZqk/b1 --logfile b1/build.log golang-github-hashicorp-atlas-go_0.0~git20230125.46e9b3e-1.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.8xrTwZqk/pbuilderrc_ie3T --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8xrTwZqk/b2 --logfile b2/build.log golang-github-hashicorp-atlas-go_0.0~git20230125.46e9b3e-1.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos15-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2933167/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -154,7 +186,7 @@ Get: 37 http://deb.debian.org/debian unstable/main amd64 golang-github-hashicorp-go-cleanhttp-dev all 0.5.2-1 [10.8 kB] Get: 38 http://deb.debian.org/debian unstable/main amd64 golang-github-hashicorp-go-version-dev all 1.6.0-1 [16.0 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 golang-github-hashicorp-go-rootcerts-dev all 1.0.2-2 [8356 B] -Fetched 70.8 MB in 2s (30.9 MB/s) +Fetched 70.8 MB in 1s (54.3 MB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19784 files and directories currently installed.) @@ -325,7 +357,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/golang-github-hashicorp-atlas-go-0.0~git20230125.46e9b3e/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../golang-github-hashicorp-atlas-go_0.0~git20230125.46e9b3e-1_source.changes +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/golang-github-hashicorp-atlas-go-0.0~git20230125.46e9b3e/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../golang-github-hashicorp-atlas-go_0.0~git20230125.46e9b3e-1_source.changes dpkg-buildpackage: info: source package golang-github-hashicorp-atlas-go dpkg-buildpackage: info: source version 0.0~git20230125.46e9b3e-1 dpkg-buildpackage: info: source distribution unstable @@ -343,55 +379,55 @@ dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang - cd obj-x86_64-linux-gnu && go install -trimpath -v -p 42 github.com/hashicorp/atlas-go/archive github.com/hashicorp/atlas-go/v1 + cd obj-x86_64-linux-gnu && go install -trimpath -v -p 20 github.com/hashicorp/atlas-go/archive github.com/hashicorp/atlas-go/v1 +internal/coverage/rtcov internal/byteorder -internal/profilerecord -internal/asan -crypto/internal/fips140/alias -internal/goarch -encoding -internal/nettrace -unicode/utf8 internal/unsafeheader -vendor/golang.org/x/crypto/internal/alias -crypto/internal/boring/sig +cmp internal/msan -internal/runtime/syscall -vendor/golang.org/x/crypto/cryptobyte/asn1 -unicode/utf16 -math/bits -internal/coverage/rtcov -internal/goos internal/itoa -internal/cpu -container/list -internal/godebugs -cmp -internal/goexperiment log/internal unicode +math/bits +unicode/utf8 +internal/runtime/syscall +internal/profilerecord +internal/goexperiment +internal/goos internal/runtime/atomic -crypto/internal/fips140/subtle sync/atomic -internal/runtime/math -internal/abi -internal/runtime/sys +container/list +internal/asan +internal/goarch +internal/godebugs +internal/cpu +crypto/internal/fips140/alias +crypto/internal/boring/sig +unicode/utf16 +vendor/golang.org/x/crypto/cryptobyte/asn1 +vendor/golang.org/x/crypto/internal/alias crypto/internal/fips140deps/byteorder +internal/nettrace +encoding internal/chacha8rand -crypto/internal/fips140deps/cpu +internal/abi +internal/runtime/sys +internal/runtime/math +crypto/internal/fips140/subtle internal/bytealg -math +crypto/internal/fips140deps/cpu internal/runtime/exithook +math internal/stringslite internal/race -internal/sync internal/runtime/maps +internal/sync runtime -internal/reflectlite -weak -crypto/subtle iter +crypto/subtle sync +weak +internal/reflectlite maps slices errors @@ -399,101 +435,101 @@ internal/oserror path math/rand/v2 +strconv vendor/golang.org/x/net/dns/dnsmessage -internal/testlog -internal/singleflight io internal/bisect -strconv unique -runtime/cgo +internal/testlog +internal/singleflight syscall +runtime/cgo internal/godebug -crypto/internal/randutil +reflect hash -bytes strings +crypto/internal/randutil +bytes +net/netip hash/crc32 crypto -net/netip -reflect crypto/internal/fips140deps/godebug math/rand vendor/golang.org/x/text/transform bufio -crypto/internal/impl crypto/internal/fips140 regexp/syntax +crypto/internal/impl net/http/internal/ascii -crypto/tls/internal/fips140tls -crypto/internal/fips140/sha512 -crypto/internal/fips140/sha256 -crypto/internal/fips140/sha3 -crypto/sha3 -crypto/internal/fips140/hmac internal/syscall/execenv time internal/syscall/unix +crypto/internal/fips140/sha256 +crypto/internal/fips140/sha3 +crypto/tls/internal/fips140tls +crypto/internal/fips140/sha512 +crypto/internal/fips140/hmac +crypto/sha3 crypto/internal/fips140/check crypto/internal/fips140hash +regexp +crypto/internal/fips140/aes crypto/internal/fips140/edwards25519/field crypto/internal/fips140/bigmod -crypto/internal/fips140/aes +crypto/internal/fips140/nistec/fiat crypto/internal/fips140/hkdf crypto/internal/fips140/tls12 -crypto/internal/fips140/nistec/fiat crypto/internal/fips140/tls13 -regexp crypto/internal/fips140/edwards25519 -context io/fs internal/poll +context internal/filepathlite -crypto/internal/fips140/nistec os +crypto/internal/fips140/nistec internal/fmtsort encoding/binary -vendor/golang.org/x/crypto/internal/poly1305 encoding/base64 +vendor/golang.org/x/crypto/internal/poly1305 io/ioutil -fmt path/filepath -vendor/golang.org/x/sys/cpu crypto/internal/sysrand -net -encoding/pem +fmt +vendor/golang.org/x/sys/cpu crypto/internal/entropy crypto/internal/fips140/drbg -os/exec +encoding/pem crypto/internal/fips140only crypto/internal/fips140/ed25519 -crypto/internal/fips140/mlkem -crypto/internal/fips140/aes/gcm crypto/internal/fips140/rsa -crypto/rc4 +os/exec +crypto/internal/fips140/aes/gcm +crypto/internal/fips140/mlkem +net crypto/md5 -crypto/internal/fips140/ecdh +crypto/rc4 crypto/internal/fips140/ecdsa +crypto/internal/fips140/ecdh crypto/cipher +crypto/internal/boring +crypto/des +vendor/golang.org/x/crypto/chacha20 +os/user +github.com/hashicorp/go-version log +compress/flate encoding/hex -github.com/hashicorp/go-version -os/user -net/url mime/quotedprintable -net/http/internal -vendor/golang.org/x/net/http2/hpack -compress/flate mime +vendor/golang.org/x/net/http2/hpack +net/url encoding/json -math/big -vendor/golang.org/x/text/unicode/norm -crypto/des -crypto/internal/boring -vendor/golang.org/x/crypto/chacha20 +net/http/internal crypto/aes crypto/ecdh crypto/sha512 +vendor/golang.org/x/text/unicode/norm +math/big crypto/hmac crypto/sha1 crypto/sha256 @@ -502,24 +538,24 @@ compress/gzip vendor/golang.org/x/text/secure/bidirule vendor/golang.org/x/net/idna -crypto/internal/boring/bbig crypto/elliptic -crypto/dsa +crypto/internal/boring/bbig crypto/rand +crypto/dsa encoding/asn1 -crypto/internal/hpke crypto/ed25519 +crypto/internal/hpke crypto/rsa -archive/tar crypto/x509/pkix vendor/golang.org/x/crypto/cryptobyte +archive/tar crypto/ecdsa github.com/hashicorp/atlas-go/archive -vendor/golang.org/x/net/http/httpproxy net/textproto crypto/x509 -vendor/golang.org/x/net/http/httpguts +vendor/golang.org/x/net/http/httpproxy mime/multipart +vendor/golang.org/x/net/http/httpguts crypto/tls net/http/httptrace github.com/hashicorp/go-rootcerts @@ -527,29 +563,29 @@ github.com/hashicorp/go-cleanhttp github.com/hashicorp/atlas-go/v1 dh_auto_test -O--buildsystem=golang - cd obj-x86_64-linux-gnu && go test -vet=off -v -p 42 github.com/hashicorp/atlas-go/archive github.com/hashicorp/atlas-go/v1 + cd obj-x86_64-linux-gnu && go test -vet=off -v -p 20 github.com/hashicorp/atlas-go/archive github.com/hashicorp/atlas-go/v1 === RUN TestArchiveOptsIsSet --- PASS: TestArchiveOptsIsSet (0.00s) === RUN TestArchive_file -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-file/foo.txt +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-file/foo.txt --- PASS: TestArchive_file (0.01s) === RUN TestArchive_fileCompressed -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-file-compressed/file.tar.gz +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-file-compressed/file.tar.gz --- PASS: TestArchive_fileCompressed (0.00s) === RUN TestArchive_fileNoExist -2026/04/19 14:34:28 [INFO] creating archive from /tmp/test2655767286 +2025/03/17 08:13:14 [INFO] creating archive from /tmp/test2039607820 --- PASS: TestArchive_fileNoExist (0.00s) === RUN TestArchive_fileWithOpts -2026/04/19 14:34:28 [INFO] creating archive from /tmp/test2531207820 +2025/03/17 08:13:14 [INFO] creating archive from /tmp/test1015825047 --- PASS: TestArchive_fileWithOpts (0.00s) === RUN TestArchive_dirExtra -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-flat ---- PASS: TestArchive_dirExtra (0.01s) +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-flat +--- PASS: TestArchive_dirExtra (0.00s) === RUN TestArchive_dirExtraDir -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-flat +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-flat --- PASS: TestArchive_dirExtraDir (0.01s) === RUN TestArchive_dirExtraDirHeader -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-flat +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-flat --- PASS: TestArchive_dirExtraDirHeader (0.01s) === RUN TestArchive_dirMode archive_test.go:205: Skip this test in Debian @@ -561,22 +597,22 @@ archive_test.go:249: Skip this test in Debian --- SKIP: TestArchive_dirWithSymlink (0.00s) === RUN TestArchive_dirWithSymlinkToFile -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-symlink-file/link +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-symlink-file/link --- PASS: TestArchive_dirWithSymlinkToFile (0.01s) === RUN TestArchive_dirNoVCS -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-flat +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-flat --- PASS: TestArchive_dirNoVCS (0.00s) === RUN TestArchive_dirSubdirsNoVCS -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-subdir ---- PASS: TestArchive_dirSubdirsNoVCS (0.00s) +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-subdir +--- PASS: TestArchive_dirSubdirsNoVCS (0.01s) === RUN TestArchive_dirExclude -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-subdir +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-subdir --- PASS: TestArchive_dirExclude (0.00s) === RUN TestArchive_dirInclude -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-subdir ---- PASS: TestArchive_dirInclude (0.02s) +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-subdir +--- PASS: TestArchive_dirInclude (0.00s) === RUN TestArchive_dirIncludeStar -2026/04/19 14:34:28 [INFO] creating archive from test-fixtures/archive-subdir-splat +2025/03/17 08:13:14 [INFO] creating archive from test-fixtures/archive-subdir-splat --- PASS: TestArchive_dirIncludeStar (0.00s) === RUN TestArchive_git archive_test.go:399: git not found, skipping @@ -627,15 +663,15 @@ vcs_test.go:240: --- SKIP: TestVCSPathDetect_hg_absolute (0.00s) PASS -ok github.com/hashicorp/atlas-go/archive 0.100s +ok github.com/hashicorp/atlas-go/archive 0.074s === RUN TestSlug_returnsSlug --- PASS: TestSlug_returnsSlug (0.00s) === RUN TestApp_fetchesApp -2026/04/19 14:34:33 [INFO] getting application hashicorp/existing -2026/04/19 14:34:33 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/existing -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0001a63f0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43001", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] getting application hashicorp/existing +2025/03/17 08:13:22 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/existing +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0000fc3f0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:35917", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "username": "hashicorp", "name": "existing", @@ -645,42 +681,42 @@ --- PASS: TestApp_fetchesApp (0.00s) === RUN TestApp_returnsErrorNoApp -2026/04/19 14:34:33 [INFO] getting application hashicorp/newproject -2026/04/19 14:34:33 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000146240), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:44855", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 404 (404 Not Found) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] getting application hashicorp/newproject +2025/03/17 08:13:22 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0000fc7e0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41045", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 404 (404 Not Found) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestApp_returnsErrorNoApp (0.00s) === RUN TestCreateApp_createsAndReturnsApp -2026/04/19 14:34:33 [INFO] creating application hashicorp/newproject -2026/04/19 14:34:33 [INFO] request: POST /api/v1/vagrant/applications -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0001a6a20), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc0003006f0)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:60, TransferEncoding:[]string(nil), Close:false, Host:"[::]:45191", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: {"username":"hashicorp","name":"newproject"} +2025/03/17 08:13:22 [INFO] creating application hashicorp/newproject +2025/03/17 08:13:22 [INFO] request: POST /api/v1/vagrant/applications +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0000fcc60), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc0001d2c00)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:60, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40379", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: {"username":"hashicorp","name":"newproject"} --- PASS: TestCreateApp_createsAndReturnsApp (0.00s) === RUN TestCreateApp_returnsErrorExistingApp -2026/04/19 14:34:33 [INFO] creating application hashicorp/existing -2026/04/19 14:34:33 [INFO] request: POST /api/v1/vagrant/applications -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc00020e630), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000202750)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:58, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40009", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 409 (409 Conflict) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] creating application hashicorp/existing +2025/03/17 08:13:22 [INFO] request: POST /api/v1/vagrant/applications +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0000fd200), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc0001d3380)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:58, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41821", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 409 (409 Conflict) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestCreateApp_returnsErrorExistingApp (0.00s) === RUN TestUploadApp_createsAndReturnsVersion -2026/04/19 14:34:33 [INFO] uploading application hashicorp/existing (0 bytes) with metadata map["testing":%!q(bool=true)] -2026/04/19 14:34:33 [INFO] request: POST /api/v1/vagrant/applications/hashicorp/existing/versions -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0001a6fc0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000301380)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:45, TransferEncoding:[]string(nil), Close:false, Host:"[::]:32999", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: {"upload_path":"http://[::]:32999/_binstore/630e42d9-2364-2412-4121-18266770468e","token":"630e42d9-2364-2412-4121-18266770468e","version":125} -2026/04/19 14:34:33 [INFO] putting file: http://[::]:32999/_binstore/630e42d9-2364-2412-4121-18266770468e -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc0002a8120), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:32999", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] uploading application hashicorp/existing (0 bytes) with metadata map["testing":%!q(bool=true)] +2025/03/17 08:13:22 [INFO] request: POST /api/v1/vagrant/applications/hashicorp/existing/versions +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0000fd7a0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc0001fc060)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:45, TransferEncoding:[]string(nil), Close:false, Host:"[::]:42827", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: {"upload_path":"http://[::]:42827/_binstore/630e42d9-2364-2412-4121-18266770468e","token":"630e42d9-2364-2412-4121-18266770468e","version":125} +2025/03/17 08:13:22 [INFO] putting file: http://[::]:42827/_binstore/630e42d9-2364-2412-4121-18266770468e +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc000210630), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:42827", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestUploadApp_createsAndReturnsVersion (0.00s) === RUN TestArtifact_fetchesArtifact -2026/04/19 14:34:33 [INFO] request: GET /api/v1/artifacts/hashicorp/existing -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0002a83f0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:37087", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] request: GET /api/v1/artifacts/hashicorp/existing +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc00013e480), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39981", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "artifact": { "username": "hashicorp", @@ -691,18 +727,18 @@ --- PASS: TestArtifact_fetchesArtifact (0.00s) === RUN TestArtifact_returnsErrorNoArtifact -2026/04/19 14:34:33 [INFO] getting application hashicorp/newproject -2026/04/19 14:34:33 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0001a73b0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:45243", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 404 (404 Not Found) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] getting application hashicorp/newproject +2025/03/17 08:13:22 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0002883f0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:42027", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 404 (404 Not Found) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestArtifact_returnsErrorNoArtifact (0.00s) === RUN TestArtifactSearch_fetches -2026/04/19 14:34:33 [INFO] searching artifacts: &atlas.ArtifactSearchOpts{User:"hashicorp", Name:"existing1", Type:"amazon-ami", Build:"", Version:"", Metadata:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] request: GET /api/v1/artifacts/hashicorp/existing1/amazon-ami/search -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc00020eea0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40191", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] searching artifacts: &atlas.ArtifactSearchOpts{User:"hashicorp", Name:"existing1", Type:"amazon-ami", Build:"", Version:"", Metadata:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] request: GET /api/v1/artifacts/hashicorp/existing1/amazon-ami/search +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0000fdef0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:45163", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "versions": [{ "username": "hashicorp", @@ -713,11 +749,11 @@ --- PASS: TestArtifactSearch_fetches (0.00s) === RUN TestArtifactSearch_metadata -2026/04/19 14:34:33 [INFO] searching artifacts: &atlas.ArtifactSearchOpts{User:"hashicorp", Name:"existing2", Type:"amazon-ami", Build:"", Version:"", Metadata:map[string]string{"bar":"943febbf-589f-401b-8f25-58f6d8786848", "foo":"bar"}} -2026/04/19 14:34:33 [INFO] request: GET /api/v1/artifacts/hashicorp/existing2/amazon-ami/search -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0001a77a0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:45797", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] searching artifacts: &atlas.ArtifactSearchOpts{User:"hashicorp", Name:"existing2", Type:"amazon-ami", Build:"", Version:"", Metadata:map[string]string{"bar":"943febbf-589f-401b-8f25-58f6d8786848", "foo":"bar"}} +2025/03/17 08:13:22 [INFO] request: GET /api/v1/artifacts/hashicorp/existing2/amazon-ami/search +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000302360), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40087", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "versions": [{ "username": "hashicorp", @@ -732,19 +768,19 @@ === RUN TestArtifactFileURL_nil --- PASS: TestArtifactFileURL_nil (0.00s) === RUN TestUploadArtifact -2026/04/19 14:34:33 [INFO] uploading artifact: hashicorp/existing (amazon-ami) -2026/04/19 14:34:33 [INFO] request: POST /api/v1/artifacts/hashicorp/existing/amazon-ami -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0002a9200), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000285410)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:86, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43761", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] uploading artifact: hashicorp/existing (amazon-ami) +2025/03/17 08:13:22 [INFO] request: POST /api/v1/artifacts/hashicorp/existing/amazon-ami +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc00013f170), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000115410)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:86, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41389", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { - "upload_path": "http://[::]:43761/_binstore/" + "upload_path": "http://[::]:41389/_binstore/" } -2026/04/19 14:34:33 [INFO] putting file: http://[::]:43761/_binstore/ -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc0002a9440), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43761", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] putting file: http://[::]:41389/_binstore/ +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc000210870), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41389", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestUploadArtifact (0.00s) === RUN TestMaskString_emptyString --- PASS: TestMaskString_emptyString (0.00s) @@ -757,11 +793,11 @@ === RUN TestBuildConfigVersion_slug --- PASS: TestBuildConfigVersion_slug (0.00s) === RUN TestBuildConfig_fetches -2026/04/19 14:34:33 [INFO] getting build configuration hashicorp/existing -2026/04/19 14:34:33 [INFO] request: GET /api/v1/packer/build-configurations/hashicorp/existing -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0002a9710), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:35913", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] getting build configuration hashicorp/existing +2025/03/17 08:13:22 [INFO] request: GET /api/v1/packer/build-configurations/hashicorp/existing +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc00013f560), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:37927", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "username": "hashicorp", "name": "existing" @@ -769,11 +805,11 @@ --- PASS: TestBuildConfig_fetches (0.00s) === RUN TestCreateBuildConfig -2026/04/19 14:34:33 [INFO] creating build configuration hashicorp/new -2026/04/19 14:34:33 [INFO] request: POST /api/v1/packer/build-configurations -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc000422510), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000404900)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:61, TransferEncoding:[]string(nil), Close:false, Host:"[::]:33969", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] creating build configuration hashicorp/new +2025/03/17 08:13:22 [INFO] request: POST /api/v1/packer/build-configurations +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc000302bd0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000310300)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:61, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43649", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "username":"hashicorp", "name":"new", @@ -783,19 +819,19 @@ --- PASS: TestCreateBuildConfig (0.00s) === RUN TestUploadBuildConfigVersion -2026/04/19 14:34:33 [INFO] uploading build configuration version hashicorp/existing (0 bytes), with metadata map["testing":%!q(bool=true)] -2026/04/19 14:34:33 [INFO] request: POST /api/v1/packer/build-configurations/hashicorp/existing/versions -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc000422870), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000405680)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:159, TransferEncoding:[]string(nil), Close:false, Host:"[::]:36875", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] uploading build configuration version hashicorp/existing (0 bytes), with metadata map["testing":%!q(bool=true)] +2025/03/17 08:13:22 [INFO] request: POST /api/v1/packer/build-configurations/hashicorp/existing/versions +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc000288b40), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc000285920)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:159, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38653", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { - "upload_path": "http://[::]:36875/_binstore/" + "upload_path": "http://[::]:38653/_binstore/" } -2026/04/19 14:34:33 [INFO] putting file: http://[::]:36875/_binstore/ -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc000422a20), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:36875", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] putting file: http://[::]:38653/_binstore/ +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc000288d80), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38653", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestUploadBuildConfigVersion (0.00s) === RUN TestDefaultClient_url --- PASS: TestDefaultClient_url (0.00s) @@ -812,73 +848,73 @@ === RUN TestNewClient_setsDefaultHTTPClient --- PASS: TestNewClient_setsDefaultHTTPClient (0.00s) === RUN TestLogin_missingUsername -2026/04/19 14:34:33 [INFO] logging in user +2025/03/17 08:13:22 [INFO] logging in user --- PASS: TestLogin_missingUsername (0.00s) === RUN TestLogin_missingPassword -2026/04/19 14:34:33 [INFO] logging in user username +2025/03/17 08:13:22 [INFO] logging in user username --- PASS: TestLogin_missingPassword (0.00s) === RUN TestLogin_serverErrorMessage -2026/04/19 14:34:33 [INFO] logging in user username -2026/04/19 14:34:33 [INFO] request: POST /api/v1/authenticate -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0003310e0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0xc0000cee80)}, GetBody:(func() (io.ReadCloser, error))(0x69f0a0), ContentLength:105, TransferEncoding:[]string(nil), Close:false, Host:"[::]:35769", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 401 (401 Unauthorized) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] logging in user username +2025/03/17 08:13:22 [INFO] request: POST /api/v1/authenticate +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc000394a20), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0xc00013c760)}, GetBody:(func() (io.ReadCloser, error))(0x69f0a0), ContentLength:105, TransferEncoding:[]string(nil), Close:false, Host:"[::]:36877", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 401 (401 Unauthorized) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestLogin_serverErrorMessage (0.00s) === RUN TestLogin_success -2026/04/19 14:34:33 [INFO] logging in user sethloves -2026/04/19 14:34:33 [INFO] request: POST /api/v1/authenticate -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc000331440), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0xc0000cf040)}, GetBody:(func() (io.ReadCloser, error))(0x69f0a0), ContentLength:103, TransferEncoding:[]string(nil), Close:false, Host:"[::]:33675", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] logging in user sethloves +2025/03/17 08:13:22 [INFO] request: POST /api/v1/authenticate +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc000303200), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0xc0000a33e0)}, GetBody:(func() (io.ReadCloser, error))(0x69f0a0), ContentLength:103, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40635", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "token": "pX4AQ5vO7T-xJrxsnvlB0cfeF-tGUX-A-280LPxoryhDAbwmox7PKinMgA1F6R3BKaT" } -2026/04/19 14:34:33 [DEBUG] setting atlas token (pX4*** (masked)) +2025/03/17 08:13:22 [DEBUG] setting atlas token (pX4*** (masked)) --- PASS: TestLogin_success (0.00s) === RUN TestRequest_tokenAuth -2026/04/19 14:34:33 [INFO] request: GET /api/v1/token -2026/04/19 14:34:33 [DEBUG] request: appending token (a.a*** (masked)) -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc00020fd40), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}, "X-Atlas-Token":[]string{"a.atlasv1.b"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:34857", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] request: GET /api/v1/token +2025/03/17 08:13:22 [DEBUG] request: appending token (a.a*** (masked)) +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000303560), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}, "X-Atlas-Token":[]string{"a.atlasv1.b"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41923", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestRequest_tokenAuth (0.00s) === RUN TestRequest_getsData -2026/04/19 14:34:33 [INFO] request: GET /_status/200 -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0002a9b00), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:35425", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] request: GET /_status/200 +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0003038c0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41741", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestRequest_getsData (0.00s) === RUN TestRequest_railsError -2026/04/19 14:34:33 [INFO] request: GET /_rails-error -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000331950), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46465", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 422 (422 Unprocessable Entity) -2026/04/19 14:34:33 [DEBUG] response: {"errors": ["this is an error", "this is another error"]} +2025/03/17 08:13:22 [INFO] request: GET /_rails-error +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000395050), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43733", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 422 (422 Unprocessable Entity) +2025/03/17 08:13:22 [DEBUG] response: {"errors": ["this is an error", "this is another error"]} --- PASS: TestRequest_railsError (0.00s) === RUN TestRequest_notFoundError -2026/04/19 14:34:33 [INFO] request: GET /_status/404 -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000331d40), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:32791", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 404 (404 Not Found) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] request: GET /_status/404 +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc00033e090), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:35231", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 404 (404 Not Found) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestRequest_notFoundError (0.00s) === RUN TestRequestJSON_decodesData -2026/04/19 14:34:33 [INFO] request: GET /_json -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000354120), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:36843", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: {"ok": true} +2025/03/17 08:13:22 [INFO] request: GET /_json +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000402480), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40677", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: {"ok": true} --- PASS: TestRequestJSON_decodesData (0.00s) === RUN TestClient_defaultHeaders -2026/04/19 14:34:33 [INFO] request: GET /_test -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000423290), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Atlas-Test":[]string{"default header test"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:42397", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: {"RawPath":"","Host":"[::]:42397","Header":{"Accept-Encoding":["gzip"],"Atlas-Test":["default header test"],"Connection":["close"],"User-Agent":["AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"]},"Body":""} +2025/03/17 08:13:22 [INFO] request: GET /_test +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000289290), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Atlas-Test":[]string{"default header test"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:34391", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: {"RawPath":"","Host":"[::]:34391","Header":{"Accept-Encoding":["gzip"],"Atlas-Test":["default header test"],"Connection":["close"],"User-Agent":["AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"]},"Body":""} --- PASS: TestClient_defaultHeaders (0.00s) === RUN TestTerraformConfigLatest -2026/04/19 14:34:33 [INFO] getting terraform configuration hashicorp/existing -2026/04/19 14:34:33 [INFO] request: GET /api/v1/terraform/configurations/hashicorp/existing/versions/latest -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc0004235f0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46243", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] getting terraform configuration hashicorp/existing +2025/03/17 08:13:22 [INFO] request: GET /api/v1/terraform/configurations/hashicorp/existing/versions/latest +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0xc000289680), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43673", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "version": { "version": 5, @@ -889,20 +925,20 @@ --- PASS: TestTerraformConfigLatest (0.00s) === RUN TestCreateTerraformConfigVersion -2026/04/19 14:34:33 [INFO] creating terraform configuration hashicorp/existing -2026/04/19 14:34:33 [INFO] request: POST /api/v1/terraform/configurations/hashicorp/existing/versions -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0005023f0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc0002f9860)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:80, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46007", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] creating terraform configuration hashicorp/existing +2025/03/17 08:13:22 [INFO] request: POST /api/v1/terraform/configurations/hashicorp/existing/versions +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0xc0003957a0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/json"}, "User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0xc0003ac420)}, GetBody:(func() (io.ReadCloser, error))(0x69f200), ContentLength:80, TransferEncoding:[]string(nil), Close:false, Host:"[::]:44289", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: { "version": 5, - "upload_path": "http://[::]:46007/_binstore/" + "upload_path": "http://[::]:44289/_binstore/" } -2026/04/19 14:34:33 [INFO] putting file: http://[::]:46007/_binstore/ -2026/04/19 14:34:33 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc000354630), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46007", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} -2026/04/19 14:34:33 [INFO] response: 200 (200 OK) -2026/04/19 14:34:33 [DEBUG] response: +2025/03/17 08:13:22 [INFO] putting file: http://[::]:44289/_binstore/ +2025/03/17 08:13:22 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0xc0003959e0), Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"User-Agent":[]string{"AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.1)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x6c7c40), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:44289", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(nil), Response:(*http.Response)(nil), Pattern:"", ctx:context.backgroundCtx{emptyCtx:context.emptyCtx{}}, pat:(*http.pattern)(nil), matches:[]string(nil), otherValues:map[string]string(nil)} +2025/03/17 08:13:22 [INFO] response: 200 (200 OK) +2025/03/17 08:13:22 [DEBUG] response: --- PASS: TestCreateTerraformConfigVersion (0.00s) === RUN TestParseSlug_emptyString --- PASS: TestParseSlug_emptyString (0.00s) @@ -913,7 +949,7 @@ === RUN TestParseSlug_goodString --- PASS: TestParseSlug_goodString (0.00s) PASS -ok github.com/hashicorp/atlas-go/v1 0.026s +ok github.com/hashicorp/atlas-go/v1 0.052s create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang @@ -941,12 +977,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2053250/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/2933167 and its subdirectories -I: Current time: Sun Apr 19 02:34:38 -12 2026 -I: pbuilder-time-stamp: 1776609278 +I: removing directory /srv/workspace/pbuilder/2053250 and its subdirectories +I: Current time: Mon Mar 17 22:13:32 +14 2025 +I: pbuilder-time-stamp: 1742199212