Diff of the two buildlogs: -- --- b1/build.log 2025-08-28 15:43:01.540025403 +0000 +++ b2/build.log 2025-08-28 15:44:23.504128242 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Aug 28 03:42:13 -12 2025 -I: pbuilder-time-stamp: 1756395733 +I: Current time: Thu Oct 1 12:06:03 +14 2026 +I: pbuilder-time-stamp: 1790805963 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -24,53 +24,85 @@ 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/3293079/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1263928/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +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 Sep 30 22:06 /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/1263928/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1263928/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="aarch64-unknown-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=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='2932cef88d3c45b8a4e85661f7dd5210' - 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='3293079' - PS1='# ' - PS2='> ' + INVOCATION_ID=3b807a92b2c44b339c6e4b668b47363f + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=1263928 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.jWGw79ir/pbuilderrc_hw1x --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jWGw79ir/b1 --logfile b1/build.log golang-github-hashicorp-atlas-go_0.0~git20230125.46e9b3e-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4: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.jWGw79ir/pbuilderrc_8Xgh --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jWGw79ir/b2 --logfile b2/build.log golang-github-hashicorp-atlas-go_0.0~git20230125.46e9b3e-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.41+deb13-cloud-arm64 #1 SMP Debian 6.12.41-1 (2025-08-12) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3293079/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1263928/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -156,7 +188,7 @@ Get: 38 http://deb.debian.org/debian forky/main arm64 golang-github-hashicorp-go-cleanhttp-dev all 0.5.2-1 [10.8 kB] Get: 39 http://deb.debian.org/debian forky/main arm64 golang-github-hashicorp-go-version-dev all 1.6.0-1 [16.0 kB] Get: 40 http://deb.debian.org/debian forky/main arm64 golang-github-hashicorp-go-rootcerts-dev all 1.0.2-2 [8356 B] -Fetched 58.7 MB in 0s (165 MB/s) +Fetched 58.7 MB in 0s (198 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 ... 19969 files and directories currently installed.) @@ -331,7 +363,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/1263928/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/1263928/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 @@ -350,184 +386,184 @@ dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang cd obj-aarch64-linux-gnu && go install -trimpath -v -p 12 github.com/hashicorp/atlas-go/archive github.com/hashicorp/atlas-go/v1 -internal/unsafeheader -internal/goarch -internal/asan -internal/coverage/rtcov internal/byteorder -internal/msan -internal/godebugs -internal/goos internal/profilerecord -internal/goexperiment +internal/msan +internal/coverage/rtcov +internal/asan internal/cpu +internal/goarch +internal/unsafeheader +internal/godebugs internal/runtime/syscall +internal/goos sync/atomic -internal/runtime/math +internal/goexperiment math/bits -internal/abi -unicode unicode/utf8 cmp internal/itoa +unicode log/internal container/list -crypto/internal/fips140/alias +internal/abi internal/chacha8rand +internal/runtime/math +crypto/internal/fips140/alias crypto/internal/fips140deps/byteorder crypto/internal/boring/sig +internal/bytealg +internal/runtime/atomic +internal/runtime/sys +crypto/internal/fips140deps/cpu +crypto/internal/fips140/subtle unicode/utf16 math -crypto/internal/fips140/subtle vendor/golang.org/x/crypto/cryptobyte/asn1 vendor/golang.org/x/crypto/internal/alias internal/nettrace -internal/bytealg -internal/runtime/atomic -internal/runtime/sys -crypto/internal/fips140deps/cpu encoding internal/runtime/exithook internal/stringslite internal/race -internal/sync internal/runtime/maps +internal/sync runtime internal/reflectlite iter +sync crypto/subtle weak -sync maps slices -errors -sort internal/bisect internal/testlog internal/singleflight unique +errors +sort +runtime/cgo +internal/oserror io -strconv path -internal/oserror -vendor/golang.org/x/net/dns/dnsmessage math/rand/v2 -runtime/cgo +vendor/golang.org/x/net/dns/dnsmessage +strconv +bytes syscall internal/godebug +reflect hash crypto/internal/randutil strings -bytes +net/netip +hash/crc32 crypto crypto/internal/fips140deps/godebug -reflect -hash/crc32 -net/netip +math/rand +vendor/golang.org/x/text/transform bufio regexp/syntax -vendor/golang.org/x/text/transform +crypto/internal/fips140 crypto/internal/impl -math/rand net/http/internal/ascii -crypto/internal/fips140 -crypto/internal/fips140/sha512 -crypto/internal/fips140/sha3 crypto/internal/fips140/sha256 +crypto/internal/fips140/sha3 +crypto/internal/fips140/sha512 crypto/tls/internal/fips140tls crypto/sha3 crypto/internal/fips140/hmac crypto/internal/fips140hash crypto/internal/fips140/check +crypto/internal/fips140/nistec/fiat +crypto/internal/fips140/edwards25519/field crypto/internal/fips140/hkdf crypto/internal/fips140/bigmod -crypto/internal/fips140/edwards25519/field crypto/internal/fips140/tls12 crypto/internal/fips140/aes -crypto/internal/fips140/nistec/fiat -time -internal/syscall/unix -internal/syscall/execenv crypto/internal/fips140/tls13 crypto/internal/fips140/edwards25519 regexp -internal/poll +time +internal/syscall/execenv +internal/syscall/unix +internal/fmtsort +encoding/binary +crypto/internal/fips140/nistec io/fs context -crypto/internal/fips140/nistec +internal/poll internal/filepathlite os -internal/fmtsort -encoding/binary vendor/golang.org/x/crypto/internal/poly1305 encoding/base64 encoding/pem -io/ioutil -crypto/internal/sysrand -path/filepath fmt +path/filepath net +io/ioutil +crypto/internal/sysrand crypto/internal/entropy crypto/internal/fips140/drbg +os/exec crypto/internal/fips140only -crypto/internal/fips140/ecdh crypto/internal/fips140/ecdsa crypto/internal/fips140/ed25519 +crypto/internal/fips140/mlkem crypto/internal/fips140/rsa +crypto/internal/fips140/ecdh crypto/internal/fips140/aes/gcm -crypto/internal/fips140/mlkem -os/exec crypto/md5 crypto/rc4 crypto/cipher -crypto/internal/boring -crypto/des -vendor/golang.org/x/crypto/chacha20 -log -encoding/json -github.com/hashicorp/go-version os/user +log +compress/flate encoding/hex net/url -compress/flate +encoding/json +vendor/golang.org/x/text/unicode/norm +vendor/golang.org/x/net/http2/hpack math/big +github.com/hashicorp/go-version +mime +crypto/internal/boring +crypto/des +vendor/golang.org/x/crypto/chacha20 crypto/aes crypto/ecdh crypto/sha512 crypto/hmac crypto/sha1 -crypto/sha256 +compress/gzip vendor/golang.org/x/crypto/chacha20poly1305 +crypto/sha256 vendor/golang.org/x/text/unicode/bidi -vendor/golang.org/x/text/unicode/norm -vendor/golang.org/x/net/http2/hpack -mime mime/quotedprintable net/http/internal -compress/gzip vendor/golang.org/x/text/secure/bidirule vendor/golang.org/x/net/idna -crypto/internal/boring/bbig crypto/elliptic -crypto/dsa crypto/rand encoding/asn1 +crypto/dsa +crypto/internal/boring/bbig crypto/ed25519 crypto/internal/hpke crypto/rsa crypto/x509/pkix vendor/golang.org/x/crypto/cryptobyte -crypto/ecdsa 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/httpproxy vendor/golang.org/x/net/http/httpguts mime/multipart crypto/tls -net/http/httptrace github.com/hashicorp/go-rootcerts +net/http/httptrace net/http github.com/hashicorp/go-cleanhttp github.com/hashicorp/atlas-go/v1 @@ -536,25 +572,25 @@ === RUN TestArchiveOptsIsSet --- PASS: TestArchiveOptsIsSet (0.00s) === RUN TestArchive_file -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-file/foo.txt ---- PASS: TestArchive_file (0.00s) +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-file/foo.txt +--- PASS: TestArchive_file (0.01s) === RUN TestArchive_fileCompressed -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-file-compressed/file.tar.gz +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-file-compressed/file.tar.gz --- PASS: TestArchive_fileCompressed (0.00s) === RUN TestArchive_fileNoExist -2025/08/28 15:42:50 [INFO] creating archive from /tmp/test575578690 +2026/09/30 22:07:03 [INFO] creating archive from /tmp/test166334860 --- PASS: TestArchive_fileNoExist (0.00s) === RUN TestArchive_fileWithOpts -2025/08/28 15:42:50 [INFO] creating archive from /tmp/test2816060173 +2026/09/30 22:07:03 [INFO] creating archive from /tmp/test3683737587 --- PASS: TestArchive_fileWithOpts (0.00s) === RUN TestArchive_dirExtra -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-flat ---- PASS: TestArchive_dirExtra (0.00s) +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-flat +--- PASS: TestArchive_dirExtra (0.02s) === RUN TestArchive_dirExtraDir -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-flat +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-flat --- PASS: TestArchive_dirExtraDir (0.00s) === RUN TestArchive_dirExtraDirHeader -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-flat +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-flat --- PASS: TestArchive_dirExtraDirHeader (0.00s) === RUN TestArchive_dirMode archive_test.go:205: Skip this test in Debian @@ -566,22 +602,22 @@ archive_test.go:249: Skip this test in Debian --- SKIP: TestArchive_dirWithSymlink (0.00s) === RUN TestArchive_dirWithSymlinkToFile -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-symlink-file/link ---- PASS: TestArchive_dirWithSymlinkToFile (0.00s) +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-symlink-file/link +--- PASS: TestArchive_dirWithSymlinkToFile (0.01s) === RUN TestArchive_dirNoVCS -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-flat +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-flat --- PASS: TestArchive_dirNoVCS (0.00s) === RUN TestArchive_dirSubdirsNoVCS -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-subdir +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-subdir --- PASS: TestArchive_dirSubdirsNoVCS (0.00s) === RUN TestArchive_dirExclude -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-subdir +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-subdir --- PASS: TestArchive_dirExclude (0.00s) === RUN TestArchive_dirInclude -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-subdir ---- PASS: TestArchive_dirInclude (0.00s) +2026/09/30 22:07:03 [INFO] creating archive from test-fixtures/archive-subdir +--- PASS: TestArchive_dirInclude (0.01s) === RUN TestArchive_dirIncludeStar -2025/08/28 15:42:50 [INFO] creating archive from test-fixtures/archive-subdir-splat +2026/09/30 22:07:03 [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 @@ -632,15 +668,15 @@ vcs_test.go:240: --- SKIP: TestVCSPathDetect_hg_absolute (0.00s) PASS -ok github.com/hashicorp/atlas-go/archive 0.031s +ok github.com/hashicorp/atlas-go/archive 0.089s === RUN TestSlug_returnsSlug --- PASS: TestSlug_returnsSlug (0.00s) === RUN TestApp_fetchesApp -2025/08/28 15:42:55 [INFO] getting application hashicorp/existing -2025/08/28 15:42:55 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/existing -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40000fe3f0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:34227", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] getting application hashicorp/existing +2026/09/30 22:07:13 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/existing +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000290000), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39547", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "username": "hashicorp", "name": "existing", @@ -648,44 +684,44 @@ "private": true } ---- PASS: TestApp_fetchesApp (0.00s) +--- PASS: TestApp_fetchesApp (0.01s) === RUN TestApp_returnsErrorNoApp -2025/08/28 15:42:55 [INFO] getting application hashicorp/newproject -2025/08/28 15:42:55 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40002962d0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:33659", 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/08/28 15:42:55 [INFO] response: 404 (404 Not Found) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] getting application hashicorp/newproject +2026/09/30 22:07:13 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40000ca6c0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:34587", 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/09/30 22:07:13 [INFO] response: 404 (404 Not Found) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestApp_returnsErrorNoApp (0.00s) === RUN TestCreateApp_createsAndReturnsApp -2025/08/28 15:42:55 [INFO] creating application hashicorp/newproject -2025/08/28 15:42:55 [INFO] request: POST /api/v1/vagrant/applications -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40000fe990), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x400016c750)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:60, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43895", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: {"username":"hashicorp","name":"newproject"} +2026/09/30 22:07:13 [INFO] creating application hashicorp/newproject +2026/09/30 22:07:13 [INFO] request: POST /api/v1/vagrant/applications +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x400011a630), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x4000116900)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:60, TransferEncoding:[]string(nil), Close:false, Host:"[::]:42923", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: {"username":"hashicorp","name":"newproject"} --- PASS: TestCreateApp_createsAndReturnsApp (0.00s) === RUN TestCreateApp_returnsErrorExistingApp -2025/08/28 15:42:55 [INFO] creating application hashicorp/existing -2025/08/28 15:42:55 [INFO] request: POST /api/v1/vagrant/applications -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40002967e0), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x4000282b40)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:58, TransferEncoding:[]string(nil), Close:false, Host:"[::]:36327", 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/08/28 15:42:55 [INFO] response: 409 (409 Conflict) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] creating application hashicorp/existing +2026/09/30 22:07:13 [INFO] request: POST /api/v1/vagrant/applications +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40000cacf0), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x400019e780)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:58, TransferEncoding:[]string(nil), Close:false, Host:"[::]:45917", 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/09/30 22:07:13 [INFO] response: 409 (409 Conflict) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestCreateApp_returnsErrorExistingApp (0.00s) === RUN TestUploadApp_createsAndReturnsVersion -2025/08/28 15:42:55 [INFO] uploading application hashicorp/existing (0 bytes) with metadata map["testing":%!q(bool=true)] -2025/08/28 15:42:55 [INFO] request: POST /api/v1/vagrant/applications/hashicorp/existing/versions -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40000fee10), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x400016d290)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:45, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41329", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: {"upload_path":"http://[::]:41329/_binstore/630e42d9-2364-2412-4121-18266770468e","token":"630e42d9-2364-2412-4121-18266770468e","version":125} -2025/08/28 15:42:55 [INFO] putting file: http://[::]:41329/_binstore/630e42d9-2364-2412-4121-18266770468e -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x4000318360), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41329", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] uploading application hashicorp/existing (0 bytes) with metadata map["testing":%!q(bool=true)] +2026/09/30 22:07:13 [INFO] request: POST /api/v1/vagrant/applications/hashicorp/existing/versions +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40000cb440), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x400019f5f0)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:45, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38753", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: {"upload_path":"http://[::]:38753/_binstore/630e42d9-2364-2412-4121-18266770468e","token":"630e42d9-2364-2412-4121-18266770468e","version":125} +2026/09/30 22:07:13 [INFO] putting file: http://[::]:38753/_binstore/630e42d9-2364-2412-4121-18266770468e +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x40000cb8c0), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38753", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestUploadApp_createsAndReturnsVersion (0.00s) === RUN TestArtifact_fetchesArtifact -2025/08/28 15:42:55 [INFO] request: GET /api/v1/artifacts/hashicorp/existing -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000296e10), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38481", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] request: GET /api/v1/artifacts/hashicorp/existing +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000220480), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:36507", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "artifact": { "username": "hashicorp", @@ -696,18 +732,18 @@ --- PASS: TestArtifact_fetchesArtifact (0.00s) === RUN TestArtifact_returnsErrorNoArtifact -2025/08/28 15:42:55 [INFO] getting application hashicorp/newproject -2025/08/28 15:42:55 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40003186c0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:44833", 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/08/28 15:42:55 [INFO] response: 404 (404 Not Found) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] getting application hashicorp/newproject +2026/09/30 22:07:13 [INFO] request: GET /api/v1/vagrant/applications/hashicorp/newproject +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000220ab0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38451", 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/09/30 22:07:13 [INFO] response: 404 (404 Not Found) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestArtifact_returnsErrorNoArtifact (0.00s) === RUN TestArtifactSearch_fetches -2025/08/28 15:42:55 [INFO] searching artifacts: &atlas.ArtifactSearchOpts{User:"hashicorp", Name:"existing1", Type:"amazon-ami", Build:"", Version:"", Metadata:map[string]string(nil)} -2025/08/28 15:42:55 [INFO] request: GET /api/v1/artifacts/hashicorp/existing1/amazon-ami/search -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000318ab0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:37097", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] searching artifacts: &atlas.ArtifactSearchOpts{User:"hashicorp", Name:"existing1", Type:"amazon-ami", Build:"", Version:"", Metadata:map[string]string(nil)} +2026/09/30 22:07:13 [INFO] request: GET /api/v1/artifacts/hashicorp/existing1/amazon-ami/search +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40002210e0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43871", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "versions": [{ "username": "hashicorp", @@ -718,11 +754,11 @@ --- PASS: TestArtifactSearch_fetches (0.00s) === RUN TestArtifactSearch_metadata -2025/08/28 15:42:55 [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/08/28 15:42:55 [INFO] request: GET /api/v1/artifacts/hashicorp/existing2/amazon-ami/search -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000318e10), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43913", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [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/09/30 22:07:13 [INFO] request: GET /api/v1/artifacts/hashicorp/existing2/amazon-ami/search +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000221710), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:37717", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "versions": [{ "username": "hashicorp", @@ -737,19 +773,19 @@ === RUN TestArtifactFileURL_nil --- PASS: TestArtifactFileURL_nil (0.00s) === RUN TestUploadArtifact -2025/08/28 15:42:55 [INFO] uploading artifact: hashicorp/existing (amazon-ami) -2025/08/28 15:42:55 [INFO] request: POST /api/v1/artifacts/hashicorp/existing/amazon-ami -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40002979e0), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x40002fa1e0)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:86, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46415", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] uploading artifact: hashicorp/existing (amazon-ami) +2026/09/30 22:07:13 [INFO] request: POST /api/v1/artifacts/hashicorp/existing/amazon-ami +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40003062d0), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x400027b140)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:86, TransferEncoding:[]string(nil), Close:false, Host:"[::]:44907", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { - "upload_path": "http://[::]:46415/_binstore/" + "upload_path": "http://[::]:44907/_binstore/" } -2025/08/28 15:42:55 [INFO] putting file: http://[::]:46415/_binstore/ -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x40000ff560), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46415", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] putting file: http://[::]:44907/_binstore/ +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x4000306870), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:44907", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestUploadArtifact (0.00s) === RUN TestMaskString_emptyString --- PASS: TestMaskString_emptyString (0.00s) @@ -762,11 +798,11 @@ === RUN TestBuildConfigVersion_slug --- PASS: TestBuildConfigVersion_slug (0.00s) === RUN TestBuildConfig_fetches -2025/08/28 15:42:55 [INFO] getting build configuration hashicorp/existing -2025/08/28 15:42:55 [INFO] request: GET /api/v1/packer/build-configurations/hashicorp/existing -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000297dd0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:41475", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] getting build configuration hashicorp/existing +2026/09/30 22:07:13 [INFO] request: GET /api/v1/packer/build-configurations/hashicorp/existing +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000306cf0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40051", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "username": "hashicorp", "name": "existing" @@ -774,11 +810,11 @@ --- PASS: TestBuildConfig_fetches (0.00s) === RUN TestCreateBuildConfig -2025/08/28 15:42:55 [INFO] creating build configuration hashicorp/new -2025/08/28 15:42:55 [INFO] request: POST /api/v1/packer/build-configurations -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x400019a990), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x40001851d0)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:61, TransferEncoding:[]string(nil), Close:false, Host:"[::]:45551", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] creating build configuration hashicorp/new +2026/09/30 22:07:13 [INFO] request: POST /api/v1/packer/build-configurations +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x4000307320), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x4000324c90)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:61, TransferEncoding:[]string(nil), Close:false, Host:"[::]:37553", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "username":"hashicorp", "name":"new", @@ -788,20 +824,20 @@ --- PASS: TestCreateBuildConfig (0.00s) === RUN TestUploadBuildConfigVersion -2025/08/28 15:42:55 [INFO] uploading build configuration version hashicorp/existing (0 bytes), with metadata map["testing":%!q(bool=true)] -2025/08/28 15:42:55 [INFO] request: POST /api/v1/packer/build-configurations/hashicorp/existing/versions -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40004882d0), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x40002fb710)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:159, TransferEncoding:[]string(nil), Close:false, Host:"[::]:33993", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] uploading build configuration version hashicorp/existing (0 bytes), with metadata map["testing":%!q(bool=true)] +2026/09/30 22:07:13 [INFO] request: POST /api/v1/packer/build-configurations/hashicorp/existing/versions +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x4000307950), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x4000325d10)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:159, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39179", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { - "upload_path": "http://[::]:33993/_binstore/" + "upload_path": "http://[::]:39179/_binstore/" } -2025/08/28 15:42:55 [INFO] putting file: http://[::]:33993/_binstore/ -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x40000ff950), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:33993", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: ---- PASS: TestUploadBuildConfigVersion (0.00s) +2026/09/30 22:07:13 [INFO] putting file: http://[::]:39179/_binstore/ +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x400011a900), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39179", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: +--- PASS: TestUploadBuildConfigVersion (0.01s) === RUN TestDefaultClient_url --- PASS: TestDefaultClient_url (0.00s) === RUN TestDefaultClient_urlFromEnvVar @@ -817,73 +853,73 @@ === RUN TestNewClient_setsDefaultHTTPClient --- PASS: TestNewClient_setsDefaultHTTPClient (0.00s) === RUN TestLogin_missingUsername -2025/08/28 15:42:55 [INFO] logging in user +2026/09/30 22:07:13 [INFO] logging in user --- PASS: TestLogin_missingUsername (0.00s) === RUN TestLogin_missingPassword -2025/08/28 15:42:55 [INFO] logging in user username +2026/09/30 22:07:13 [INFO] logging in user username --- PASS: TestLogin_missingPassword (0.00s) === RUN TestLogin_serverErrorMessage -2025/08/28 15:42:55 [INFO] logging in user username -2025/08/28 15:42:55 [INFO] request: POST /api/v1/authenticate -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x400039eb40), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0x40000a8d40)}, GetBody:(func() (io.ReadCloser, error))(0x663a60), ContentLength:105, TransferEncoding:[]string(nil), Close:false, Host:"[::]:40497", 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/08/28 15:42:55 [INFO] response: 401 (401 Unauthorized) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] logging in user username +2026/09/30 22:07:13 [INFO] request: POST /api/v1/authenticate +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x4000427050), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0x40004360c0)}, GetBody:(func() (io.ReadCloser, error))(0x663a60), ContentLength:105, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39785", 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/09/30 22:07:13 [INFO] response: 401 (401 Unauthorized) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestLogin_serverErrorMessage (0.00s) === RUN TestLogin_success -2025/08/28 15:42:55 [INFO] logging in user sethloves -2025/08/28 15:42:55 [INFO] request: POST /api/v1/authenticate -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x400039ef30), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0x40000a8f20)}, GetBody:(func() (io.ReadCloser, error))(0x663a60), ContentLength:103, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38021", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] logging in user sethloves +2026/09/30 22:07:13 [INFO] request: POST /api/v1/authenticate +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40000cbe60), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*strings.Reader)(0x4000080d40)}, GetBody:(func() (io.ReadCloser, error))(0x663a60), ContentLength:103, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46413", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "token": "pX4AQ5vO7T-xJrxsnvlB0cfeF-tGUX-A-280LPxoryhDAbwmox7PKinMgA1F6R3BKaT" } -2025/08/28 15:42:55 [DEBUG] setting atlas token (pX4*** (masked)) +2026/09/30 22:07:13 [DEBUG] setting atlas token (pX4*** (masked)) --- PASS: TestLogin_success (0.00s) === RUN TestRequest_tokenAuth -2025/08/28 15:42:55 [INFO] request: GET /api/v1/token -2025/08/28 15:42:55 [DEBUG] request: appending token (a.a*** (masked)) -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400019ae10), 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.4)"}, "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:"[::]:41629", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] request: GET /api/v1/token +2026/09/30 22:07:13 [DEBUG] request: appending token (a.a*** (masked)) +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40001c6360), 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.4)"}, "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:"[::]:41271", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestRequest_tokenAuth (0.00s) === RUN TestRequest_getsData -2025/08/28 15:42:55 [INFO] request: GET /_status/200 -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400019b200), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:43999", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] request: GET /_status/200 +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000427560), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39989", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestRequest_getsData (0.00s) === RUN TestRequest_railsError -2025/08/28 15:42:55 [INFO] request: GET /_rails-error -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400019b5f0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:42695", 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/08/28 15:42:55 [INFO] response: 422 (422 Unprocessable Entity) -2025/08/28 15:42:55 [DEBUG] response: {"errors": ["this is an error", "this is another error"]} +2026/09/30 22:07:13 [INFO] request: GET /_rails-error +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x4000427b90), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:46725", 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/09/30 22:07:13 [INFO] response: 422 (422 Unprocessable Entity) +2026/09/30 22:07:13 [DEBUG] response: {"errors": ["this is an error", "this is another error"]} --- PASS: TestRequest_railsError (0.00s) === RUN TestRequest_notFoundError -2025/08/28 15:42:55 [INFO] request: GET /_status/404 -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40003199e0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:35743", 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/08/28 15:42:55 [INFO] response: 404 (404 Not Found) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] request: GET /_status/404 +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400047e240), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39375", 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/09/30 22:07:13 [INFO] response: 404 (404 Not Found) +2026/09/30 22:07:13 [DEBUG] response: --- PASS: TestRequest_notFoundError (0.00s) === RUN TestRequestJSON_decodesData -2025/08/28 15:42:55 [INFO] request: GET /_json -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400019ba70), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:44871", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: {"ok": true} +2026/09/30 22:07:13 [INFO] request: GET /_json +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400047e870), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:45587", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: {"ok": true} --- PASS: TestRequestJSON_decodesData (0.00s) === RUN TestClient_defaultHeaders -2025/08/28 15:42:55 [INFO] request: GET /_test -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400039f7a0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:33509", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: {"RawPath":"","Host":"[::]:33509","Header":{"Accept-Encoding":["gzip"],"Atlas-Test":["default header test"],"Connection":["close"],"User-Agent":["AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.4)"]},"Body":""} +2026/09/30 22:07:13 [INFO] request: GET /_test +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400047eea0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:38187", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: {"RawPath":"","Host":"[::]:38187","Header":{"Accept-Encoding":["gzip"],"Atlas-Test":["default header test"],"Connection":["close"],"User-Agent":["AtlasGo/1.0 (+https://github.com/hashicorp/atlas-go; go1.24.4)"]},"Body":""} --- PASS: TestClient_defaultHeaders (0.00s) === RUN TestTerraformConfigLatest -2025/08/28 15:42:55 [INFO] getting terraform configuration hashicorp/existing -2025/08/28 15:42:55 [INFO] request: GET /api/v1/terraform/configurations/hashicorp/existing/versions/latest -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x40002007e0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:35809", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] getting terraform configuration hashicorp/existing +2026/09/30 22:07:13 [INFO] request: GET /api/v1/terraform/configurations/hashicorp/existing/versions/latest +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"GET", URL:(*url.URL)(0x400047f4d0), 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.4)"}}, Body:io.ReadCloser(nil), GetBody:(func() (io.ReadCloser, error))(nil), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:37759", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "version": { "version": 5, @@ -894,21 +930,21 @@ --- PASS: TestTerraformConfigLatest (0.00s) === RUN TestCreateTerraformConfigVersion -2025/08/28 15:42:55 [INFO] creating terraform configuration hashicorp/existing -2025/08/28 15:42:55 [INFO] request: POST /api/v1/terraform/configurations/hashicorp/existing/versions -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x40001fa090), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x40001eb920)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:80, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39973", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: +2026/09/30 22:07:13 [INFO] creating terraform configuration hashicorp/existing +2026/09/30 22:07:13 [INFO] request: POST /api/v1/terraform/configurations/hashicorp/existing/versions +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"POST", URL:(*url.URL)(0x400047fb00), 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.4)"}}, Body:io.nopCloserWriterTo{Reader:(*bytes.Reader)(0x4000496c00)}, GetBody:(func() (io.ReadCloser, error))(0x663bd0), ContentLength:80, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39809", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: { "version": 5, - "upload_path": "http://[::]:39973/_binstore/" + "upload_path": "http://[::]:39809/_binstore/" } -2025/08/28 15:42:55 [INFO] putting file: http://[::]:39973/_binstore/ -2025/08/28 15:42:55 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x4000488ea0), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39973", 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/08/28 15:42:55 [INFO] response: 200 (200 OK) -2025/08/28 15:42:55 [DEBUG] response: ---- PASS: TestCreateTerraformConfigVersion (0.00s) +2026/09/30 22:07:13 [INFO] putting file: http://[::]:39809/_binstore/ +2026/09/30 22:07:13 [DEBUG] raw request: &http.Request{Method:"PUT", URL:(*url.URL)(0x40004a8000), 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.4)"}}, Body:http.noBody{}, GetBody:(func() (io.ReadCloser, error))(0x689aa0), ContentLength:0, TransferEncoding:[]string(nil), Close:false, Host:"[::]:39809", 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/09/30 22:07:13 [INFO] response: 200 (200 OK) +2026/09/30 22:07:13 [DEBUG] response: +--- PASS: TestCreateTerraformConfigVersion (0.01s) === RUN TestParseSlug_emptyString --- PASS: TestParseSlug_emptyString (0.00s) === RUN TestParseSlug_noSlashes @@ -918,7 +954,7 @@ === RUN TestParseSlug_goodString --- PASS: TestParseSlug_goodString (0.00s) PASS -ok github.com/hashicorp/atlas-go/v1 0.040s +ok github.com/hashicorp/atlas-go/v1 0.075s create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang @@ -946,12 +982,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/1263928/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1263928/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/3293079 and its subdirectories -I: Current time: Thu Aug 28 03:43:00 -12 2025 -I: pbuilder-time-stamp: 1756395780 +I: removing directory /srv/workspace/pbuilder/1263928 and its subdirectories +I: Current time: Thu Oct 1 12:07:21 +14 2026 +I: pbuilder-time-stamp: 1790806041