This is an automated email from the ASF dual-hosted git repository.
piotr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new 31a010d8 feat: Add Go BDD and CI (#1922)
31a010d8 is described below
commit 31a010d84233cfb3d9390a723d75722d06230a9c
Author: Chengxi <[email protected]>
AuthorDate: Sun Jun 29 13:51:20 2025 -0400
feat: Add Go BDD and CI (#1922)
- Add Golang BDD, move the e2e test from golang sdk to BDD.
- Add Golang CI
---
.github/changed-files-config.json | 12 ++++++
.../{ci-test-bdd.yml => ci-check-go-sdk.yml} | 42 ++++++++++-----------
.github/workflows/ci-check-pr.yml | 7 ++++
.github/workflows/ci-test-bdd.yml | 2 +-
bdd/README.md | 1 +
bdd/docker-compose.yml | 12 ++++++
.../workflows/ci-test-bdd.yml => bdd/go/Dockerfile | 36 +++++-------------
bdd/go/go.mod | 26 +++++++++++++
{foreign => bdd}/go/go.sum | 41 ++++++++++----------
.../go/tests}/tcp_test/client_feature_get_all.go | 0
.../go/tests}/tcp_test/consumers_feature_create.go | 0
.../go/tests}/tcp_test/consumers_feature_delete.go | 0
.../tests}/tcp_test/consumers_feature_get_all.go | 0
.../tests}/tcp_test/consumers_feature_get_by_id.go | 0
.../go/tests}/tcp_test/consumers_feature_join.go | 0
.../go/tests}/tcp_test/consumers_feature_leave.go | 0
.../go/tests}/tcp_test/consumers_steps.go | 0
.../go/tests}/tcp_test/messages_feature_send.go | 0
.../go/tests}/tcp_test/messages_steps.go | 2 +-
.../tests}/tcp_test/partitions_feature_create.go | 0
.../tests}/tcp_test/partitions_feature_delete.go | 0
.../go/tests}/tcp_test/partitions_steps.go | 0
.../go/tests}/tcp_test/pat_feature_create.go | 0
.../go/tests}/tcp_test/pat_feature_delete.go | 0
.../go/tests}/tcp_test/pat_feature_get_all.go | 0
.../go/e2e => bdd/go/tests}/tcp_test/pat_steps.go | 0
.../e2e => bdd/go/tests}/tcp_test/ping_feature.go | 0
.../go/tests}/tcp_test/session_feature_login.go | 0
.../go/tests}/tcp_test/session_feature_logout.go | 0
.../e2e => bdd/go/tests}/tcp_test/stats_feature.go | 0
.../go/tests}/tcp_test/stream_feature_create.go | 0
.../go/tests}/tcp_test/stream_feature_delete.go | 0
.../go/tests}/tcp_test/stream_feature_get_all.go | 0
.../go/tests}/tcp_test/stream_feature_get_by_id.go | 0
.../go/tests}/tcp_test/stream_feature_update.go | 0
.../e2e => bdd/go/tests}/tcp_test/stream_steps.go | 0
.../go/tests}/tcp_test/tcp_suite_test.go | 0
.../e2e => bdd/go/tests}/tcp_test/test_helpers.go | 7 +++-
.../go/tests}/tcp_test/test_shared_steps.go | 0
.../go/tests}/tcp_test/topic_feature_create.go | 0
.../go/tests}/tcp_test/topic_feature_delete.go | 0
.../go/tests}/tcp_test/topic_feature_get_all.go | 0
.../go/tests}/tcp_test/topic_feature_get_by_id.go | 0
.../go/tests}/tcp_test/topic_feature_update.go | 0
.../e2e => bdd/go/tests}/tcp_test/topic_steps.go | 0
.../go/tests}/tcp_test/users_feature_create.go | 0
.../go/tests}/tcp_test/users_feature_delete.go | 0
.../go/tests}/tcp_test/users_feature_get_all.go | 0
.../go/tests}/tcp_test/users_feature_get_by_id.go | 0
.../go/tests}/tcp_test/users_feature_password.go | 0
.../tests}/tcp_test/users_feature_permissions.go | 0
.../go/tests}/tcp_test/users_feature_update.go | 0
.../e2e => bdd/go/tests}/tcp_test/users_steps.go | 0
foreign/go/README.md | 6 ++-
foreign/go/go.mod | 16 --------
foreign/go/go.sum | 44 ----------------------
scripts/run-bdd-tests.sh | 12 +++++-
57 files changed, 129 insertions(+), 137 deletions(-)
diff --git a/.github/changed-files-config.json
b/.github/changed-files-config.json
index 0d3f60dc..3b429b74 100644
--- a/.github/changed-files-config.json
+++ b/.github/changed-files-config.json
@@ -23,6 +23,15 @@
"Dockerfile.*",
".github/workflows/ci-prod-rust.yml"
],
+ "go-sdk": [
+ "foreign/go/.*\\.go",
+ "foreign/go/go.mod",
+ "foreign/go/go.sum",
+ "bdd/go/.*\\.go",
+ "bdd/go/go.mod",
+ "bdd/go/go.sum",
+ ".github/workflows/ci-check-go-sdk.yml"
+ ],
"java-sdk": [
"foreign/java/.*\\.java",
"foreign/java/.*\\.kts",
@@ -57,6 +66,9 @@
"bdd/.*\\.feature",
"bdd/.*\\.py",
"bdd/.*\\.rs",
+ "bdd/.*\\.go",
+ "bdd/go/go.mod",
+ "bdd/go/go.sum",
"bdd/.*Dockerfile",
"bdd/docker-compose.yml",
"scripts/run-bdd-tests.sh",
diff --git a/.github/workflows/ci-test-bdd.yml
b/.github/workflows/ci-check-go-sdk.yml
similarity index 59%
copy from .github/workflows/ci-test-bdd.yml
copy to .github/workflows/ci-check-go-sdk.yml
index a72dff83..d3eeeb57 100644
--- a/.github/workflows/ci-test-bdd.yml
+++ b/.github/workflows/ci-check-go-sdk.yml
@@ -14,35 +14,35 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-
-name: Cross-SDK BDD Tests
+name: ci-check-go-sdk
on:
+ workflow_dispatch:
workflow_call:
jobs:
- bdd-tests:
- name: BDD tests (${{ matrix.sdk }})
+ build-and-test:
+ name: Go Build And Test
runs-on: ubuntu-latest
- strategy:
- matrix:
- sdk: [rust, python]
steps:
- - name: Checkout code
+ - name: Checkout Code
uses: actions/checkout@v4
-
- - name: Cache Rust dependencies
- uses: Swatinem/rust-cache@v2
+
+ - name: Setup Go
+ uses: actions/setup-go@v5
with:
- workspaces: |
- . -> target
- foreign/python -> target
- cache-on-failure: true
- key: bdd-${{ matrix.sdk }}
+ go-version: '1.23.0'
+
+ - name: Tidy Check
+ working-directory: foreign/go
+ run: |
+ go mod tidy
+ git diff --exit-code
- - name: Run BDD tests for ${{ matrix.sdk }}
- run: ./scripts/run-bdd-tests.sh ${{ matrix.sdk }}
+ - name: Build Go Modules
+ working-directory: foreign/go
+ run: go build ./...
- - name: Clean up Docker resources
- if: always()
- run: ./scripts/run-bdd-tests.sh clean
\ No newline at end of file
+ - name: Unit Test
+ working-directory: foreign/go
+ run: go test -v ./...
diff --git a/.github/workflows/ci-check-pr.yml
b/.github/workflows/ci-check-pr.yml
index cc64b34c..70fcbfef 100644
--- a/.github/workflows/ci-check-pr.yml
+++ b/.github/workflows/ci-check-pr.yml
@@ -61,6 +61,7 @@ jobs:
trigger-shell: ${{ steps.changed-files.outputs.SHELL_FILES_CHANGED }}
trigger-java-sdk: ${{ steps.changed-files.outputs.JAVA-SDK_FILES_CHANGED
}}
trigger-python-sdk: ${{
steps.changed-files.outputs.PYTHON-SDK_FILES_CHANGED }}
+ trigger-go-sdk: ${{ steps.changed-files.outputs.GO-SDK_FILES_CHANGED }}
trigger-node-sdk: ${{ steps.changed-files.outputs.NODE-SDK_FILES_CHANGED
}}
trigger-csharp-sdk: ${{
steps.changed-files.outputs.CSHARP-SDK_FILES_CHANGED }}
trigger-bdd: ${{ steps.changed-files.outputs.BDD_FILES_CHANGED }}
@@ -140,6 +141,11 @@ jobs:
if: ${{ needs.pr-file-changes.outputs.trigger-python-sdk == 'true' }}
uses: ./.github/workflows/ci-check-python-sdk.yml
+ ci-check-go-sdk:
+ name: ci-check-go-sdk
+ needs: pr-file-changes
+ if: ${{ needs.pr-file-changes.outputs.trigger-go-sdk == 'true' }}
+ uses: ./.github/workflows/ci-check-go-sdk.yml
ci-check-node-sdk:
name: ci-check-node-sdk
needs: pr-file-changes
@@ -169,6 +175,7 @@ jobs:
- ci-check-shell
- ci-check-java-sdk
- ci-check-python-sdk
+ - ci-check-go-sdk
- ci-check-node-sdk
- ci-check-csharp-sdk
- ci-test-bdd
diff --git a/.github/workflows/ci-test-bdd.yml
b/.github/workflows/ci-test-bdd.yml
index a72dff83..35964a8e 100644
--- a/.github/workflows/ci-test-bdd.yml
+++ b/.github/workflows/ci-test-bdd.yml
@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- sdk: [rust, python]
+ sdk: [rust, python, go]
steps:
- name: Checkout code
uses: actions/checkout@v4
diff --git a/bdd/README.md b/bdd/README.md
index e32b4f4c..ebda0ca3 100644
--- a/bdd/README.md
+++ b/bdd/README.md
@@ -32,6 +32,7 @@ bdd/
# Run specific SDK tests
../scripts/run-bdd-tests.sh rust
../scripts/run-bdd-tests.sh python
+../scripts/run-bdd-tests.sh go
# Clean up Docker resources
../scripts/run-bdd-tests.sh clean
diff --git a/bdd/docker-compose.yml b/bdd/docker-compose.yml
index 584982ec..0d262f06 100644
--- a/bdd/docker-compose.yml
+++ b/bdd/docker-compose.yml
@@ -64,5 +64,17 @@ services:
working_dir: /app
command: ["pytest", "tests/", "-v"]
+ go-bdd:
+ build:
+ context: ..
+ dockerfile: bdd/go/Dockerfile
+ depends_on:
+ iggy-server:
+ condition: service_healthy
+ environment:
+ - IGGY_TCP_ADDRESS=iggy-server:8090
+ volumes:
+ -
./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
+ command: [ "ginkgo", "-v", "-r" ]
volumes:
iggy_data:
diff --git a/.github/workflows/ci-test-bdd.yml b/bdd/go/Dockerfile
similarity index 52%
copy from .github/workflows/ci-test-bdd.yml
copy to bdd/go/Dockerfile
index a72dff83..658f6f44 100644
--- a/.github/workflows/ci-test-bdd.yml
+++ b/bdd/go/Dockerfile
@@ -15,34 +15,16 @@
# specific language governing permissions and limitations
# under the License.
-name: Cross-SDK BDD Tests
+FROM golang:1.23.10-alpine
-on:
- workflow_call:
+WORKDIR /app
+COPY . .
-jobs:
- bdd-tests:
- name: BDD tests (${{ matrix.sdk }})
- runs-on: ubuntu-latest
- strategy:
- matrix:
- sdk: [rust, python]
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Cache Rust dependencies
- uses: Swatinem/rust-cache@v2
- with:
- workspaces: |
- . -> target
- foreign/python -> target
- cache-on-failure: true
- key: bdd-${{ matrix.sdk }}
+# Install Ginkgo
+RUN go install github.com/onsi/ginkgo/v2/ginkgo@latest
- - name: Run BDD tests for ${{ matrix.sdk }}
- run: ./scripts/run-bdd-tests.sh ${{ matrix.sdk }}
+# Change workdir to bdd/go
+WORKDIR /app/bdd/go
- - name: Clean up Docker resources
- if: always()
- run: ./scripts/run-bdd-tests.sh clean
\ No newline at end of file
+# Default command
+CMD ["ginkgo", "-v", "-r"]
diff --git a/bdd/go/go.mod b/bdd/go/go.mod
new file mode 100644
index 00000000..7570f031
--- /dev/null
+++ b/bdd/go/go.mod
@@ -0,0 +1,26 @@
+module github.com/apache/iggy/bdd/go
+
+go 1.23.0
+
+replace github.com/apache/iggy/foreign/go => ../../foreign/go
+
+require (
+ github.com/apache/iggy/foreign/go v0.0.0-00010101000000-000000000000
+ github.com/google/uuid v1.6.0
+ github.com/onsi/ginkgo/v2 v2.23.4
+ github.com/onsi/gomega v1.37.0
+)
+
+require (
+ github.com/go-logr/logr v1.4.2 // indirect
+ github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
+ github.com/google/go-cmp v0.7.0 // indirect
+ github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect
+ github.com/klauspost/compress v1.17.11 // indirect
+ go.uber.org/automaxprocs v1.6.0 // indirect
+ golang.org/x/net v0.38.0 // indirect
+ golang.org/x/sys v0.32.0 // indirect
+ golang.org/x/text v0.23.0 // indirect
+ golang.org/x/tools v0.31.0 // indirect
+ gopkg.in/yaml.v3 v3.0.1 // indirect
+)
diff --git a/foreign/go/go.sum b/bdd/go/go.sum
similarity index 55%
copy from foreign/go/go.sum
copy to bdd/go/go.sum
index cb576a09..f31ed10d 100644
--- a/foreign/go/go.sum
+++ b/bdd/go/go.sum
@@ -1,48 +1,45 @@
-github.com/creack/pty v1.1.9/go.mod
h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.1
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod
h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-task/slim-sprig/v3 v3.0.0
h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod
h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
-github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
-github.com/google/go-cmp v0.6.0/go.mod
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad
h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
-github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod
h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
+github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
+github.com/google/go-cmp v0.7.0/go.mod
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
+github.com/google/pprof v0.0.0-20250403155104-27863c87afa6
h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8=
+github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod
h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/klauspost/compress v1.17.11
h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
github.com/klauspost/compress v1.17.11/go.mod
h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod
h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
-github.com/kr/pretty v0.3.0/go.mod
h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod
h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod
h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/onsi/ginkgo/v2 v2.22.1
h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM=
-github.com/onsi/ginkgo/v2 v2.22.1/go.mod
h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM=
-github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
-github.com/onsi/gomega v1.36.2/go.mod
h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
+github.com/onsi/ginkgo/v2 v2.23.4
h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus=
+github.com/onsi/ginkgo/v2 v2.23.4/go.mod
h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8=
+github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
+github.com/onsi/gomega v1.37.0/go.mod
h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
github.com/pmezard/go-difflib v1.0.0
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.6.1
h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
-github.com/rogpeppe/go-internal v1.6.1/go.mod
h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
+github.com/prashantv/gostub v1.1.0
h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
+github.com/prashantv/gostub v1.1.0/go.mod
h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/stretchr/testify v1.8.4
h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod
h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
+go.uber.org/automaxprocs v1.6.0/go.mod
h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
-golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
-golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
+golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
golang.org/x/text v0.23.0/go.mod
h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
-golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
-golang.org/x/tools v0.28.0/go.mod
h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
-google.golang.org/protobuf v1.36.1
h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
-google.golang.org/protobuf v1.36.1/go.mod
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
+golang.org/x/tools v0.31.0/go.mod
h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
+google.golang.org/protobuf v1.36.5
h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
+google.golang.org/protobuf v1.36.5/go.mod
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/foreign/go/e2e/tcp_test/client_feature_get_all.go
b/bdd/go/tests/tcp_test/client_feature_get_all.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/client_feature_get_all.go
rename to bdd/go/tests/tcp_test/client_feature_get_all.go
diff --git a/foreign/go/e2e/tcp_test/consumers_feature_create.go
b/bdd/go/tests/tcp_test/consumers_feature_create.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/consumers_feature_create.go
rename to bdd/go/tests/tcp_test/consumers_feature_create.go
diff --git a/foreign/go/e2e/tcp_test/consumers_feature_delete.go
b/bdd/go/tests/tcp_test/consumers_feature_delete.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/consumers_feature_delete.go
rename to bdd/go/tests/tcp_test/consumers_feature_delete.go
diff --git a/foreign/go/e2e/tcp_test/consumers_feature_get_all.go
b/bdd/go/tests/tcp_test/consumers_feature_get_all.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/consumers_feature_get_all.go
rename to bdd/go/tests/tcp_test/consumers_feature_get_all.go
diff --git a/foreign/go/e2e/tcp_test/consumers_feature_get_by_id.go
b/bdd/go/tests/tcp_test/consumers_feature_get_by_id.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/consumers_feature_get_by_id.go
rename to bdd/go/tests/tcp_test/consumers_feature_get_by_id.go
diff --git a/foreign/go/e2e/tcp_test/consumers_feature_join.go
b/bdd/go/tests/tcp_test/consumers_feature_join.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/consumers_feature_join.go
rename to bdd/go/tests/tcp_test/consumers_feature_join.go
diff --git a/foreign/go/e2e/tcp_test/consumers_feature_leave.go
b/bdd/go/tests/tcp_test/consumers_feature_leave.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/consumers_feature_leave.go
rename to bdd/go/tests/tcp_test/consumers_feature_leave.go
diff --git a/foreign/go/e2e/tcp_test/consumers_steps.go
b/bdd/go/tests/tcp_test/consumers_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/consumers_steps.go
rename to bdd/go/tests/tcp_test/consumers_steps.go
diff --git a/foreign/go/e2e/tcp_test/messages_feature_send.go
b/bdd/go/tests/tcp_test/messages_feature_send.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/messages_feature_send.go
rename to bdd/go/tests/tcp_test/messages_feature_send.go
diff --git a/foreign/go/e2e/tcp_test/messages_steps.go
b/bdd/go/tests/tcp_test/messages_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/messages_steps.go
rename to bdd/go/tests/tcp_test/messages_steps.go
index 862873bc..3f733a49 100644
--- a/foreign/go/e2e/tcp_test/messages_steps.go
+++ b/bdd/go/tests/tcp_test/messages_steps.go
@@ -21,9 +21,9 @@ import (
"bytes"
"reflect"
- "github.com/google/uuid"
"github.com/apache/iggy/foreign/go"
iggcon "github.com/apache/iggy/foreign/go/contracts"
+ "github.com/google/uuid"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
diff --git a/foreign/go/e2e/tcp_test/partitions_feature_create.go
b/bdd/go/tests/tcp_test/partitions_feature_create.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/partitions_feature_create.go
rename to bdd/go/tests/tcp_test/partitions_feature_create.go
diff --git a/foreign/go/e2e/tcp_test/partitions_feature_delete.go
b/bdd/go/tests/tcp_test/partitions_feature_delete.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/partitions_feature_delete.go
rename to bdd/go/tests/tcp_test/partitions_feature_delete.go
diff --git a/foreign/go/e2e/tcp_test/partitions_steps.go
b/bdd/go/tests/tcp_test/partitions_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/partitions_steps.go
rename to bdd/go/tests/tcp_test/partitions_steps.go
diff --git a/foreign/go/e2e/tcp_test/pat_feature_create.go
b/bdd/go/tests/tcp_test/pat_feature_create.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/pat_feature_create.go
rename to bdd/go/tests/tcp_test/pat_feature_create.go
diff --git a/foreign/go/e2e/tcp_test/pat_feature_delete.go
b/bdd/go/tests/tcp_test/pat_feature_delete.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/pat_feature_delete.go
rename to bdd/go/tests/tcp_test/pat_feature_delete.go
diff --git a/foreign/go/e2e/tcp_test/pat_feature_get_all.go
b/bdd/go/tests/tcp_test/pat_feature_get_all.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/pat_feature_get_all.go
rename to bdd/go/tests/tcp_test/pat_feature_get_all.go
diff --git a/foreign/go/e2e/tcp_test/pat_steps.go
b/bdd/go/tests/tcp_test/pat_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/pat_steps.go
rename to bdd/go/tests/tcp_test/pat_steps.go
diff --git a/foreign/go/e2e/tcp_test/ping_feature.go
b/bdd/go/tests/tcp_test/ping_feature.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/ping_feature.go
rename to bdd/go/tests/tcp_test/ping_feature.go
diff --git a/foreign/go/e2e/tcp_test/session_feature_login.go
b/bdd/go/tests/tcp_test/session_feature_login.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/session_feature_login.go
rename to bdd/go/tests/tcp_test/session_feature_login.go
diff --git a/foreign/go/e2e/tcp_test/session_feature_logout.go
b/bdd/go/tests/tcp_test/session_feature_logout.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/session_feature_logout.go
rename to bdd/go/tests/tcp_test/session_feature_logout.go
diff --git a/foreign/go/e2e/tcp_test/stats_feature.go
b/bdd/go/tests/tcp_test/stats_feature.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/stats_feature.go
rename to bdd/go/tests/tcp_test/stats_feature.go
diff --git a/foreign/go/e2e/tcp_test/stream_feature_create.go
b/bdd/go/tests/tcp_test/stream_feature_create.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/stream_feature_create.go
rename to bdd/go/tests/tcp_test/stream_feature_create.go
diff --git a/foreign/go/e2e/tcp_test/stream_feature_delete.go
b/bdd/go/tests/tcp_test/stream_feature_delete.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/stream_feature_delete.go
rename to bdd/go/tests/tcp_test/stream_feature_delete.go
diff --git a/foreign/go/e2e/tcp_test/stream_feature_get_all.go
b/bdd/go/tests/tcp_test/stream_feature_get_all.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/stream_feature_get_all.go
rename to bdd/go/tests/tcp_test/stream_feature_get_all.go
diff --git a/foreign/go/e2e/tcp_test/stream_feature_get_by_id.go
b/bdd/go/tests/tcp_test/stream_feature_get_by_id.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/stream_feature_get_by_id.go
rename to bdd/go/tests/tcp_test/stream_feature_get_by_id.go
diff --git a/foreign/go/e2e/tcp_test/stream_feature_update.go
b/bdd/go/tests/tcp_test/stream_feature_update.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/stream_feature_update.go
rename to bdd/go/tests/tcp_test/stream_feature_update.go
diff --git a/foreign/go/e2e/tcp_test/stream_steps.go
b/bdd/go/tests/tcp_test/stream_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/stream_steps.go
rename to bdd/go/tests/tcp_test/stream_steps.go
diff --git a/foreign/go/e2e/tcp_test/tcp_suite_test.go
b/bdd/go/tests/tcp_test/tcp_suite_test.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/tcp_suite_test.go
rename to bdd/go/tests/tcp_test/tcp_suite_test.go
diff --git a/foreign/go/e2e/tcp_test/test_helpers.go
b/bdd/go/tests/tcp_test/test_helpers.go
similarity index 95%
rename from foreign/go/e2e/tcp_test/test_helpers.go
rename to bdd/go/tests/tcp_test/test_helpers.go
index 240c7b63..68d4f4e3 100644
--- a/foreign/go/e2e/tcp_test/test_helpers.go
+++ b/bdd/go/tests/tcp_test/test_helpers.go
@@ -19,6 +19,7 @@ package tcp_test
import (
"math/rand"
+ "os"
"strings"
"time"
@@ -39,9 +40,13 @@ func createAuthorizedConnection() MessageStream {
}
func createConnection() MessageStream {
+ addr := os.Getenv("IGGY_TCP_ADDRESS")
+ if addr == "" {
+ addr = "127.0.0.1:8090"
+ }
factory := &IggyClientFactory{}
config := IggyConfiguration{
- BaseAddress: "127.0.0.1:8090",
+ BaseAddress: addr,
Protocol: Tcp,
}
diff --git a/foreign/go/e2e/tcp_test/test_shared_steps.go
b/bdd/go/tests/tcp_test/test_shared_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/test_shared_steps.go
rename to bdd/go/tests/tcp_test/test_shared_steps.go
diff --git a/foreign/go/e2e/tcp_test/topic_feature_create.go
b/bdd/go/tests/tcp_test/topic_feature_create.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/topic_feature_create.go
rename to bdd/go/tests/tcp_test/topic_feature_create.go
diff --git a/foreign/go/e2e/tcp_test/topic_feature_delete.go
b/bdd/go/tests/tcp_test/topic_feature_delete.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/topic_feature_delete.go
rename to bdd/go/tests/tcp_test/topic_feature_delete.go
diff --git a/foreign/go/e2e/tcp_test/topic_feature_get_all.go
b/bdd/go/tests/tcp_test/topic_feature_get_all.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/topic_feature_get_all.go
rename to bdd/go/tests/tcp_test/topic_feature_get_all.go
diff --git a/foreign/go/e2e/tcp_test/topic_feature_get_by_id.go
b/bdd/go/tests/tcp_test/topic_feature_get_by_id.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/topic_feature_get_by_id.go
rename to bdd/go/tests/tcp_test/topic_feature_get_by_id.go
diff --git a/foreign/go/e2e/tcp_test/topic_feature_update.go
b/bdd/go/tests/tcp_test/topic_feature_update.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/topic_feature_update.go
rename to bdd/go/tests/tcp_test/topic_feature_update.go
diff --git a/foreign/go/e2e/tcp_test/topic_steps.go
b/bdd/go/tests/tcp_test/topic_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/topic_steps.go
rename to bdd/go/tests/tcp_test/topic_steps.go
diff --git a/foreign/go/e2e/tcp_test/users_feature_create.go
b/bdd/go/tests/tcp_test/users_feature_create.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_feature_create.go
rename to bdd/go/tests/tcp_test/users_feature_create.go
diff --git a/foreign/go/e2e/tcp_test/users_feature_delete.go
b/bdd/go/tests/tcp_test/users_feature_delete.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_feature_delete.go
rename to bdd/go/tests/tcp_test/users_feature_delete.go
diff --git a/foreign/go/e2e/tcp_test/users_feature_get_all.go
b/bdd/go/tests/tcp_test/users_feature_get_all.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_feature_get_all.go
rename to bdd/go/tests/tcp_test/users_feature_get_all.go
diff --git a/foreign/go/e2e/tcp_test/users_feature_get_by_id.go
b/bdd/go/tests/tcp_test/users_feature_get_by_id.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_feature_get_by_id.go
rename to bdd/go/tests/tcp_test/users_feature_get_by_id.go
diff --git a/foreign/go/e2e/tcp_test/users_feature_password.go
b/bdd/go/tests/tcp_test/users_feature_password.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_feature_password.go
rename to bdd/go/tests/tcp_test/users_feature_password.go
diff --git a/foreign/go/e2e/tcp_test/users_feature_permissions.go
b/bdd/go/tests/tcp_test/users_feature_permissions.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_feature_permissions.go
rename to bdd/go/tests/tcp_test/users_feature_permissions.go
diff --git a/foreign/go/e2e/tcp_test/users_feature_update.go
b/bdd/go/tests/tcp_test/users_feature_update.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_feature_update.go
rename to bdd/go/tests/tcp_test/users_feature_update.go
diff --git a/foreign/go/e2e/tcp_test/users_steps.go
b/bdd/go/tests/tcp_test/users_steps.go
similarity index 100%
rename from foreign/go/e2e/tcp_test/users_steps.go
rename to bdd/go/tests/tcp_test/users_steps.go
diff --git a/foreign/go/README.md b/foreign/go/README.md
index 77ebee70..e658ca56 100644
--- a/foreign/go/README.md
+++ b/foreign/go/README.md
@@ -1,3 +1,5 @@
-# Tests
+# Go SDK for Iggy
-Use ginkgo to run e2e tests.
+Official Go client SDK for [Apache Iggy](https://iggy.apache.org) message
streaming.
+
+The client currently supports TCP protocols with blocking implementation.
diff --git a/foreign/go/go.mod b/foreign/go/go.mod
index cc67702f..7aa5f0fc 100644
--- a/foreign/go/go.mod
+++ b/foreign/go/go.mod
@@ -7,20 +7,4 @@ toolchain go1.23.1
require (
github.com/google/uuid v1.6.0
github.com/klauspost/compress v1.17.11
- github.com/onsi/ginkgo/v2 v2.22.1
- github.com/onsi/gomega v1.36.2
-)
-
-require (
- github.com/go-logr/logr v1.4.2 // indirect
- github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
- github.com/google/go-cmp v0.6.0 // indirect
- github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
- github.com/kr/pretty v0.3.0 // indirect
- golang.org/x/net v0.38.0 // indirect
- golang.org/x/sys v0.31.0 // indirect
- golang.org/x/text v0.23.0 // indirect
- golang.org/x/tools v0.28.0 // indirect
- gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
- gopkg.in/yaml.v3 v3.0.1 // indirect
)
diff --git a/foreign/go/go.sum b/foreign/go/go.sum
index cb576a09..e99a5df2 100644
--- a/foreign/go/go.sum
+++ b/foreign/go/go.sum
@@ -1,48 +1,4 @@
-github.com/creack/pty v1.1.9/go.mod
h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/davecgh/go-spew v1.1.1
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
-github.com/go-logr/logr v1.4.2/go.mod
h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
-github.com/go-task/slim-sprig/v3 v3.0.0
h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
-github.com/go-task/slim-sprig/v3 v3.0.0/go.mod
h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
-github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
-github.com/google/go-cmp v0.6.0/go.mod
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad
h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
-github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod
h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/klauspost/compress v1.17.11
h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
github.com/klauspost/compress v1.17.11/go.mod
h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
-github.com/kr/pretty v0.1.0/go.mod
h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
-github.com/kr/pretty v0.3.0/go.mod
h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod
h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod
h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/onsi/ginkgo/v2 v2.22.1
h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM=
-github.com/onsi/ginkgo/v2 v2.22.1/go.mod
h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM=
-github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
-github.com/onsi/gomega v1.36.2/go.mod
h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
-github.com/pmezard/go-difflib v1.0.0
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.6.1
h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
-github.com/rogpeppe/go-internal v1.6.1/go.mod
h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
-github.com/stretchr/testify v1.8.4
h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
-github.com/stretchr/testify v1.8.4/go.mod
h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
-golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
-golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
-golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
-golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
-golang.org/x/text v0.23.0/go.mod
h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
-golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
-golang.org/x/tools v0.28.0/go.mod
h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
-google.golang.org/protobuf v1.36.1
h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
-google.golang.org/protobuf v1.36.1/go.mod
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
-gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/scripts/run-bdd-tests.sh b/scripts/run-bdd-tests.sh
index 4cd05d9f..e3fc2e37 100755
--- a/scripts/run-bdd-tests.sh
+++ b/scripts/run-bdd-tests.sh
@@ -38,13 +38,20 @@ case $SDK in
docker compose build --no-cache iggy-server python-bdd
docker compose up --abort-on-container-exit python-bdd
;;
+"go")
+ echo "๐น Running Go BDD tests..."
+ docker compose build --no-cache iggy-server go-bdd
+ docker compose up --abort-on-container-exit go-bdd
+ ;;
"all")
echo "๐ Running all SDK BDD tests..."
echo "๐ฆ Starting with Rust tests..."
- docker compose build --no-cache iggy-server rust-bdd python-bdd
+ docker compose build --no-cache iggy-server rust-bdd python-bdd go-bdd
docker compose up --abort-on-container-exit rust-bdd
echo "๐ Now running Python tests..."
docker compose up --abort-on-container-exit python-bdd
+ echo "๐น Now running Go tests..."
+ docker compose up --abort-on-container-exit go-bdd
;;
"clean")
echo "๐งน Cleaning up Docker resources..."
@@ -53,10 +60,11 @@ case $SDK in
;;
*)
echo "โ Unknown SDK: $SDK"
- echo "๐ Usage: $0 [rust|python|all|clean] [feature_file]"
+ echo "๐ Usage: $0 [rust|python|go|all|clean] [feature_file]"
echo "๐ Examples:"
echo " $0 rust # Run Rust tests only"
echo " $0 python # Run Python tests only"
+ echo " $0 go # Run Go tests only"
echo " $0 all # Run all SDK tests"
echo " $0 clean # Clean up Docker resources"
exit 1