Skip to content

Conversation

@Sneagan
Copy link
Collaborator

@Sneagan Sneagan commented Aug 7, 2025

  • Kafka token issuance
  • Kafka token redemption
  • V1 HTTP Issuer GET endpoint
  • V1 HTTP Token Redemption POST endpoint
  • V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

@Sneagan Sneagan changed the title Feature/integration testing Add Integration Tests Aug 7, 2025
@socket-security
Copy link

socket-security bot commented Aug 8, 2025

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.
@Sneagan Sneagan force-pushed the feature/integration-testing branch from abe7f82 to 12b7ac1 Compare August 12, 2025 02:05
@Sneagan Sneagan marked this pull request as ready for review August 12, 2025 02:18
mihaiplesa
mihaiplesa previously approved these changes Aug 12, 2025
@mihaiplesa mihaiplesa requested a review from Copilot August 12, 2025 07:12
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive integration tests for the challenge-bypass system, including complete end-to-end flows for token issuance and redemption via Kafka and HTTP endpoints. The tests verify the entire system working together with all dependencies (PostgreSQL, Kafka, DynamoDB).

  • Added full integration test suite covering Kafka token flows and HTTP endpoints
  • Enhanced logging and debugging capabilities for development and testing
  • Updated build configuration and CI pipeline to support integration testing

Reviewed Changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
integration-tests/intergration_test.go New comprehensive integration test file with end-to-end token flows
docker-compose.integration.yml Test environment configuration with all required services
Dockerfile.test Test-specific container configuration for running integration tests
Makefile Added integration test commands and cleanup utilities
.github/workflows/integration-tests.yml CI workflow for automated integration testing
README.md Updated documentation with integration test instructions
utils/test/dynamodb.go Adjusted timeout for table activation in test environment
server/.go, kafka/.go Enhanced logging and debugging output for integration tests
go.mod Updated testify dependency to latest version

Copy link
Member

@kdenhartog kdenhartog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't see any issues with the postgres warnings and I see v3 was pinned

This LGTM from security perspective

clD11
clD11 previously approved these changes Sep 4, 2025
Copy link
Collaborator

@clD11 clD11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with comments

@github-actions
Copy link

github-actions bot commented Sep 4, 2025

[puLL-Merge] - brave-intl/challenge-bypass-server@816

Description

This PR adds comprehensive integration tests to the challenge-bypass-server project. The changes introduce a new GitHub Actions workflow, Docker-based integration test setup, and extensive test coverage for the token issuance and redemption flows. The integration tests verify end-to-end functionality including Kafka messaging, database operations, and HTTP endpoints using containerized services (PostgreSQL, Kafka, Zookeeper, LocalStack for DynamoDB).

Possible Issues

  • Build dependencies: The Rust builder stage in Dockerfile.test uses a hardcoded version (1.0.1) of the challenge-bypass-ristretto-ffi library, which could become outdated
  • Test reliability: The integration tests rely on timing-based waits (10-second loop) instead of proper health checks for service readiness
  • Resource consumption: The tests create and tear down multiple containers for each test run, which could be resource-intensive in CI environments
  • Test isolation: Multiple test functions share the same Kafka topics and database, potentially causing interference between tests
  • Error handling: Some error cases use require.NoError where more specific error assertions might be more appropriate

Security Hotspots

  • Test credentials: Hardcoded AWS credentials (test/test) in docker-compose.integration.yml - while acceptable for testing, ensure these are only used in test environments
  • Network exposure: The integration test setup exposes multiple ports (2416, 9090, 5432, 9092, etc.) that could potentially be accessed by other processes during testing
  • DynamoDB endpoint: The test uses LocalStack with hardcoded endpoint configuration - ensure this doesn't leak into production configurations
Changes

Changes

  • .github/workflows/integration-tests.yml: New GitHub Actions workflow that runs integration tests on PRs to master/production branches
  • Dockerfile.test: New multi-stage Docker image for running integration tests with Rust FFI library and Go test dependencies
  • Makefile: Added comprehensive integration test commands with proper cleanup and logging capabilities
  • README.md: Extensive documentation for running and understanding integration tests
  • docker-compose.integration.yml: Complete test environment setup with PostgreSQL, Kafka, Zookeeper, LocalStack, and the application
  • go.mod/go.sum: Updated testify dependency to v1.10.0
  • integration-tests/integration_test.go: Comprehensive test suite covering token issuance via Kafka and redemption via both Kafka and HTTP endpoints
  • kafka/main.go: Modified Prometheus registry handling for test environments to avoid conflicts
  • kafka/signed_blinded_token_issuer_handler.go: Enhanced error logging for invalid token count scenarios
  • kafka/signed_token_redeem_handler.go: Improved error handling and logging for redemption failures
  • server/issuers.go: Removed redundant error logging for issuer not found cases
  • server/tokens.go: Added debug logging for token verification failures
  • utils/test/dynamodb.go: Improved DynamoDB table creation timing for test reliability
sequenceDiagram
    participant GH as GitHub Actions
    participant Docker as Docker Compose
    participant Kafka as Kafka
    participant DB as PostgreSQL
    participant DDB as LocalStack/DynamoDB
    participant CBP as Challenge Bypass Server
    participant Tests as Integration Tests

    GH->>Docker: make integration-test
    Docker->>DB: Start PostgreSQL
    Docker->>Kafka: Start Kafka + Zookeeper
    Docker->>DDB: Start LocalStack
    Docker->>CBP: Start application
    
    Note over Docker: Wait for services to be ready
    
    Docker->>Tests: Build and run test container
    
    Tests->>CBP: POST /v3/issuer/ (create issuer)
    CBP->>DB: Store issuer configuration
    
    Tests->>Kafka: Send token signing request
    CBP->>Kafka: Consume signing request
    CBP->>CBP: Generate signed tokens
    CBP->>Kafka: Publish signing results
    Tests->>Kafka: Consume signing results
    
    Tests->>CBP: POST /v1/blindedToken/{issuer}/redemption/
    CBP->>DB: Check token redemption
    CBP->>DDB: Store redemption record
    CBP-->>Tests: Return success response
    
    Tests->>Kafka: Send redemption request
    CBP->>Kafka: Consume redemption request
    CBP->>DB: Verify token and issuer
    CBP->>DDB: Check for duplicate redemption
    CBP->>Kafka: Publish redemption result
    Tests->>Kafka: Consume redemption result
    
    Tests->>CBP: POST same token (duplicate test)
    CBP-->>Tests: Return 409 Conflict
    
    Tests-->>Docker: Test completion
    Docker->>Docker: Clean up containers and volumes
Loading

@Sneagan Sneagan merged commit d02fe54 into master Sep 5, 2025
8 checks passed
@Sneagan Sneagan deleted the feature/integration-testing branch September 5, 2025 16:44
Sneagan added a commit that referenced this pull request Sep 15, 2025
* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Sep 19, 2025
* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Sep 19, 2025
* Release Simple Dependency Removal (#828)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

* Release 2025-09-19 (#834)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Sep 19, 2025
* Release Simple Dependency Removal (#828)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)



* Fix prod branch naming (#829)

---------



* Release 2025-09-19 (#834)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)



* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------



---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Sep 19, 2025
* Align Prod and Master (#836)

* Release Simple Dependency Removal (#828)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

* Release 2025-09-19 (#834)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>

* Remove extra UUID package from dependencies (#821)

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Sep 19, 2025
* Fix metrics registration failure after panic (#830)

* Align Prod and Master (#836)

* Release Simple Dependency Removal (#828)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

* Release 2025-09-19 (#834)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>

* Remove extra UUID package from dependencies (#821)

* Add alert implementation and simple test on init

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Sep 25, 2025
* Fix metrics registration failure after panic (#830)

* Align Prod and Master (#836)

* Release Simple Dependency Removal (#828)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

* Release 2025-09-19 (#834)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>

* Remove extra UUID package from dependencies (#821)

* Improve pool management (#840)

* Improve pool management

* Update comments and skip lint defer expectation in loop

* Adjust error handling

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Sep 26, 2025
* Align Prod and Master (#836)

* Release Simple Dependency Removal (#828)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

* Release 2025-09-19 (#834)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>

* Remove extra UUID package from dependencies (#821)

* Improve pool management (#840)

* Improve pool management

* Update comments and skip lint defer expectation in loop

* Adjust error handling

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>
Sneagan added a commit that referenced this pull request Oct 2, 2025
* Fix metrics registration failure after panic (#830)

* Align Prod and Master (#836)

* Release Simple Dependency Removal (#828)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

* Release 2025-09-19 (#834)

* Remove bat-go dialer

* Fix dependency naming

* Make log level configurable

* Add Integration Tests (#816)

* Add Integration Tests

- Kafka token issuance
- Kafka token redemption
- V1 HTTP Issuer GET endpoint
- V1 HTTP Token Redemption POST endpoint
- V3 HTTP Token Redemption POST endpoint

This checks the entire token redemption flow for all known production
use cases as well as checks that duplicate redemtion fails. There are
some cases with time limited issuers where a token is issued for a
future issuer whose redemption fails. These tokens are tested and
verified to fail as expected.

* Tidy

* Correct test name

* Correct README

* Rename integration test file

* Address simple PR feedback

* Remove unneeded type

* Integration testing pr feedback (#827)

Address PR comments regarding testing structure.

* Enable specifying an integration test

* Address feedback

* Adjust import order

* Alter error handling for dynamo change

* Add suggested change

* Remove  dependency (#819)

* Add MSK TLS v1.2 to Kafka dialer (#826)

Co-authored-by: Jackson <[email protected]>

* Fix prod branch naming (#829)

* Fix metrics registration failure after panic (#830)

---------

Co-authored-by: Harold Spencer Jr. <[email protected]>

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>

* Remove extra UUID package from dependencies (#821)

* Add alert implementation and simple test on init

---------

Co-authored-by: husobee <[email protected]>
Co-authored-by: eV <[email protected]>
Co-authored-by: Ian Krieger <[email protected]>
Co-authored-by: Harold Spencer Jr. <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants