http integration test framework

go-hit Actions Status Coverage Status PkgGoDev GoDoc go-report

hit is an http integration test framework written in golang.

It is designed to be flexible as possible, but to keep a simple to use interface for developers.

So lets get started!

go get -u github.com/Eun/go-hit

package main

import (
    "net/http"
    . "github.com/Eun/go-hit"
)

func main() {
    MustDo(
        Description("Post to httpbin.org"),
        Get("https://httpbin.org/post"),
        Expect().Status().Equal(http.StatusMethodNotAllowed),
        Expect().Body().String().Contains("Method Not Allowed"),
    )
}

Or use the Test() function:

package main_test
import (
    "testing"
    "net/http"
    . "github.com/Eun/go-hit"
)

func TestHttpBin(t *testing.T) {
    Test(t,
        Description("Post to httpbin.org"),
        Get("https://httpbin.org/post"),
        Expect().Status().Equal(http.StatusMethodNotAllowed),
        Expect().Body().String().Contains("Method Not Allowed"),
    )
}

Expect, Expect, Expect, ....

MustDo(
    Get("https://httpbin.org/post"),
    Expect().Status().Equal(http.StatusMethodNotAllowed),
    Expect().Headers("Content-Type").NotEmpty(),
    Expect().Body().String().Contains("Method Not Allowed"),
)

Sending Data

MustDo(
    Post("https://httpbin.org/post"),
    Send().Body().String("Hello HttpBin"),
    Expect().Status().Equal(http.StatusOK),
    Expect().Body().String().Contains("Hello HttpBin"), 
)

Sending And Expecting JSON

MustDo(
    Post("https://httpbin.org/post"),
    Send().Headers("Content-Type").Add("application/json"),
    Send().Body().JSON(map[string][]string{"Foo": []string{"Bar", "Baz"}}),
    Expect().Status().Equal(http.StatusOK),
    Expect().Body().JSON().JQ(".json.Foo[1]").Equal("Baz"),
)

Storing Data From The Response

var name string
var roles []string
MustDo(
    Post("https://httpbin.org/post"),
    Send().Headers("Content-Type").Add("application/json"),
    Send().Body().JSON(map[string]interface{}{"Name": "Joe", "Roles": []string{"Admin", "Developer"}}),
    Expect().Status().Equal(http.StatusOK),
    Store().Response().Body().JSON().JQ(".json.Name").In(&name),
    Store().Response().Body().JSON().JQ(".json.Roles").In(&roles),
)
fmt.Printf("%s has %d roles\n", name, len(roles))

Problems? Debug!

MustDo(
    Post("https://httpbin.org/post"),
    Debug(),
    Debug().Response().Body(),
)

Handling Errors

It is possible to handle errors in a custom way.

func login(username, password string) error {
    err := Do(
         Get("https://httpbin.org/basic-auth/joe/secret"),
         Send().Headers("Authorization").Add("Basic " + base64.StdEncoding.EncodeToString([]byte(username + ":" + password))),
         Expect().Status().Equal(http.StatusOK),
    )
    var hitError *Error
    if errors.As(err, &hitError) {
        if hitError.FailingStepIs(Expect().Status().Equal(http.StatusOK)) {
            return errors.New("login failed")
        }
    }
    return err
}

Build the request url manually

MustDo(
    Request().Method(http.MethodPost),
    Request().URL().Scheme("https"),
    Request().URL().Host("httpbin.org"),
    Request().URL().Path("/post"),
    Request().URL().Query("page").Add(1),
    Expect().Status().Equal(200),
    Send().Body().String("Hello World"),
    Expect().Body().String().Contains("Hello"),
)

Twisted!

Although the following is hard to read it is possible to do!

MustDo(
    Post("https://httpbin.org/post"),
    Expect().Status().Equal(200),
    Send().Body().String("Hello World"),
    Expect().Body().String().Contains("Hello"),
)

Custom Send And Expects

MustDo(
    Get("https://httpbin.org/get"),
    Send().Custom(func(hit Hit) error {
        hit.Request().Body().SetStringf("Hello %s", "World")
        return nil
    }),
    Expect().Custom(func(hit Hit) error {
        if len(hit.Response().Body().MustString()) <= 0 {
            return errors.New("expected the body to be not empty")
        }
        return nil
    }),
    Custom(AfterExpectStep, func(Hit) error {
        fmt.Println("everything done")
        return nil
    }),
)

Templates / Multiuse

template := CombineSteps(
    Post("https://httpbin.org/post"),
    Send().Headers("Content-Type").Add("application/json"),
    Expect().Headers("Content-Type").Equal("application/json"),
)
MustDo(
    template,
    Send().Body().JSON("Hello World"),
)

MustDo(
    template,
    Send().Body().JSON("Hello Universe"),
)

Clean Previous Steps

Sometimes it is necessary to remove some steps that were added before.

template := CombineSteps(
    Get("https://httpbin.org/basic-auth/joe/secret"),
    Expect().Status().Equal(http.StatusOK),
)
MustDo(
    Description("login with correct credentials"),
    template,
    Send().Headers("Authorization").Add("Basic " + base64.StdEncoding.EncodeToString([]byte("joe:secret"))),
)

Test(t,
    Description("login with incorrect credentials"),
    template,
    Clear().Expect().Status(),
    Expect().Status().Equal(http.StatusUnauthorized),
    Send().Headers("Authorization").Add("Basic " + base64.StdEncoding.EncodeToString([]byte("joe:joe"))),
)

More examples can be found in the examples directory

Changelog

0.5.0

  • Rehaul the api, make things more explicit
  • Fix some issues
  • Store() functionality
  • Generate Clear() paths
  • Infinite JQ() functionality
  • Test README.md and documentation parts

0.4.0

  • Fixed a double run bug in CombineSteps (#3)
  • Better Clear functionality, you can now clear any previous step by prepending Clear(), eg.
    Do(
        Get("https://example.com"),
        Expect().Body("Hello World"),
        Clear().Expect(),                        // remove all previous Expect() steps
        // Clear().Expect().Body("Hello World"), // remove only the Expect().Body("Hello World") step
    )
    
    // also works for CombineSteps
    Do(
        Post("https://example.com"),        
        CombineSteps(
            Send().Body().String("Hello World"),
            Expect().Body("Hello World"),
        ),
        Clear().Expect(),
    )
  • Simplified Expect().Header() use, no more Expect().Headers(), everything can now be done in the Expect().Header() function.
  • More documentation and examples
  • hit.Do and hit.MustDo for inline steps.
  • Removal of inline steps (use hit.Do and hit.MustDo)
    Do(
        Get("https://example.com"),
        Expect().Custon(func (hit Hit) {
            // Expect("Hello World") is invalid now
            // you must use MustDo() or Do()
            hit.MustDo(
                Expect("Hello World"),
            )
        }),
    )
  • hit.InsertSteps to insert steps during runtime
Owner
Comments
  • chore: bump github.com/itchyny/gojq from 0.12.5 to 0.12.9

    chore: bump github.com/itchyny/gojq from 0.12.5 to 0.12.9

    Bumps github.com/itchyny/gojq from 0.12.5 to 0.12.9.

    Release notes

    Sourced from github.com/itchyny/gojq's releases.

    Release v0.12.9

    • fix fromjson to emit error on unexpected trailing string
    • fix path analyzer on variable argument evaluation (def f($x): .y; path(f(.x)))
    • fix raw input option --raw-input (-R) to keep carriage returns and support 64KiB+ lines

    Release v0.12.8

    • implement gojq.Compare for comparing values in custom internal functions
    • implement gojq.TypeOf for obtaining type name of values in custom internal functions
    • implement gojq.Preview for previewing values for error messages of custom internal functions
    • fix query lexer to parse string literals as JSON to support surrogate pairs ("\ud83d\ude04")
    • fix priority bug of declared and builtin functions (def empty: .; null | select(.))
    • fix string indexing by index out of bounds to emit null ("abc" | .[3])
    • fix array binding pattern not to match against strings ("abc" as [$a] ?// $a | $a)
    • fix sub and gsub functions to emit results in the same order of jq
    • fix fromjson to keep integer precision ("10000000000000000" | fromjson + 1)
    • fix stream option to raise error against incomplete JSON input
    • improve array updating index and string repetition to increase limitations
    • improve mktime to support nanoseconds, just like gmtime and now
    • improve query lexer to report unterminated string literals
    • improve performance of string indexing and slicing by reducing allocations
    • improve performance of object and array indexing, slicing, and iteration, by validating path values by comparing data addresses. This change improves jq compatibility of path value validation ({} | {}.x = 0, [0] | [.[]][] = 1). Also optimize constant indexing and slicing by specialized instruction
    • improve performance of add (on array of strings), flatten, min, max, sort, unique, join, to_entries, from_entries, indices, index, rindex, startswith, endswith, ltrimstr, rtrimstr, explode, capture, sub, and gsub functions

    Release v0.12.7

    • fix precedence of try expression against operators (try 0 * error(0))
    • fix iterator suffix with optional operator (0 | .x[]?)
    • fix stream option with slurp option or input, inputs functions
    • fix the command flag parser to support equal sign in short options with argument
    • fix string conversion of query including empty strings in module and import metadata
    • improve performance of isempty function

    Release v0.12.6

    • implement options for consuming remaining arguments (--args, --jsonargs, $ARGS.positional)
    • fix delpaths function with overlapped paths
    • fix --exit-status flag with halt, halt_error functions
    • fix input_filename function with null input option
    • fix path value validation for nan
    • fix crash on branch optimization (if 0 then . else 0|0 end)
    • add validation on regular expression flags to reject unsupported ones
    • improve performance of range, join, flatten functions
    • improve constant value optimization for object with quoted keys
    • remove dependency on forked go-flags package
    Changelog

    Sourced from github.com/itchyny/gojq's changelog.

    v0.12.9 (2022-09-01)

    • fix fromjson to emit error on unexpected trailing string
    • fix path analyzer on variable argument evaluation (def f($x): .y; path(f(.x)))
    • fix raw input option --raw-input (-R) to keep carriage returns and support 64KiB+ lines

    v0.12.8 (2022-06-01)

    • implement gojq.Compare for comparing values in custom internal functions
    • implement gojq.TypeOf for obtaining type name of values in custom internal functions
    • implement gojq.Preview for previewing values for error messages of custom internal functions
    • fix query lexer to parse string literals as JSON to support surrogate pairs ("\ud83d\ude04")
    • fix priority bug of declared and builtin functions (def empty: .; null | select(.))
    • fix string indexing by index out of bounds to emit null ("abc" | .[3])
    • fix array binding pattern not to match against strings ("abc" as [$a] ?// $a | $a)
    • fix sub and gsub functions to emit results in the same order of jq
    • fix fromjson to keep integer precision ("10000000000000000" | fromjson + 1)
    • fix stream option to raise error against incomplete JSON input
    • improve array updating index and string repetition to increase limitations
    • improve mktime to support nanoseconds, just like gmtime and now
    • improve query lexer to report unterminated string literals
    • improve performance of string indexing and slicing by reducing allocations
    • improve performance of object and array indexing, slicing, and iteration, by validating path values by comparing data addresses. This change improves jq compatibility of path value validation ({} | {}.x = 0, [0] | [.[]][] = 1). Also optimize constant indexing and slicing by specialized instruction
    • improve performance of add (on array of strings), flatten, min, max, sort, unique, join, to_entries, from_entries, indices, index, rindex, startswith, endswith, ltrimstr, rtrimstr, explode, capture, sub, and gsub functions

    v0.12.7 (2022-03-01)

    • fix precedence of try expression against operators (try 0 * error(0))
    • fix iterator suffix with optional operator (0 | .x[]?)
    • fix stream option with slurp option or input, inputs functions
    • fix the command flag parser to support equal sign in short options with argument
    • fix string conversion of query including empty strings in module and import metadata
    • improve performance of isempty function

    v0.12.6 (2021-12-01)

    • implement options for consuming remaining arguments (--args, --jsonargs, $ARGS.positional)
    • fix delpaths function with overlapped paths
    • fix --exit-status flag with halt, halt_error functions
    • fix input_filename function with null input option
    • fix path value validation for nan
    • fix crash on branch optimization (if 0 then . else 0|0 end)
    • add validation on regular expression flags to reject unsupported ones
    • improve performance of range, join, flatten functions
    • improve constant value optimization for object with quoted keys
    • remove dependency on forked go-flags package
    Commits
    • f2e333c bump up version to 0.12.9
    • a467fea update CHANGELOG.md for v0.12.9
    • ab847b6 update dependencies
    • b55bf23 add notes to prohibit using values sharing same data for arguments (ref #188)
    • 77b3bcd skip appending path while variable argument evaluation (close #186)
    • 6b47ae1 quote version path in make show-version
    • 647e498 Merge pull request #183 from skyzyx/feature/spelling
    • a45d5e3 lose != loose
    • ae49b1c improve doc comments using links
    • 53b2c09 fix command example checker in CI
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump actions/setup-go from 2 to 3

    chore: bump actions/setup-go from 2 to 3

    Bumps actions/setup-go from 2 to 3.

    Release notes

    Sourced from actions/setup-go's releases.

    v3.0.0

    What's Changed

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    This new major release removes the stable input, so there is no need to specify additional input to use pre-release versions. This release also corrects the pre-release versions syntax to satisfy the SemVer notation (1.18.0-beta1 -> 1.18.0-beta.1, 1.18.0-rc1 -> 1.18.0-rc.1).

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-go@v3
        with:
          go-version: '1.18.0-rc.1' 
      - run: go version
    

    Add check-latest input

    In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, a Go version will then be downloaded from go-versions repository. By default check-latest is set to false. Example of usage:

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-go@v2
        with:
          go-version: '1.16'
          check-latest: true
      - run: go version
    

    Moreover, we updated @actions/core from 1.2.6 to 1.6.0

    v2.1.5

    In scope of this release we updated matchers.json to improve the problem matcher pattern. For more information please refer to this pull request

    v2.1.4

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/setup-go/compare/v2.1.3...v2.1.4

    v2.1.3

    • Updated communication with runner to use environment files rather then workflow commands

    v2.1.2

    This release includes vendored licenses for this action's npm dependencies.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/google/go-cmp from 0.5.6 to 0.5.9

    chore: bump github.com/google/go-cmp from 0.5.6 to 0.5.9

    Bumps github.com/google/go-cmp from 0.5.6 to 0.5.9.

    Release notes

    Sourced from github.com/google/go-cmp's releases.

    v0.5.9

    Reporter changes:

    • (#299) Adjust heuristic for line-based versus byte-based diffing
    • (#306) Use value.TypeString in PathStep.String

    Code cleanup changes:

    • (#297) Use reflect.Value.IsZero
    • (#304) Format with Go 1.19 formatter
    • (#300 )Fix typo in Result documentation
    • (#302) Pre-declare global type variables
    • (#309) Run tests on Go 1.19

    v0.5.8

    Reporter changes:

    • (#293) Fix printing of types in reporter output for interface and pointer types
    • (#294) Use string formatting for slice of bytes in more circumstances

    Dependency changes:

    • (#292) Update minimum supported version to go1.13 and remove xerrors dependency

    v0.5.7

    Reporter changes:

    • (#266) Fix textual printing of byte slices
    • (#275) Reduce minimum length for specialize string diffing
    • (#276) Use any alias instead of interface{}

    Code cleanup changes:

    • (#281) Update minimum supported version to go1.11
    • (#282) Drop hacks to work around Go reflection bugs in Go1.9
    • (#285) Add //go:build lines
    • (#262) Fix staticcheck findings
    • (#263) Avoid shadowing variable
    • (#268) Use sha256 in test
    • (#271) Fix spelling mistakes
    • (#269) Change build status badge
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/gookit/color from 1.4.2 to 1.5.2

    chore: bump github.com/gookit/color from 1.4.2 to 1.5.2

    Bumps github.com/gookit/color from 1.4.2 to 1.5.2.

    Release notes

    Sourced from github.com/gookit/color's releases.

    v1.5.2

    Change Log

    Refactor

    Fixed

    Update

    Other

    Full Changelog: https://github.com/gookit/color/compare/v1.5.1...v1.5.2

    v1.5.1

    Change Log

    Feature

    Update

    Other

    ... (truncated)

    Commits
    • d0fe513 chore: update some comments code styles
    • ee046fd Update README.zh-CN.md
    • b59a811 Update README.md
    • bf93227 fix: RGBFromString() maybe input overflow int value
    • 1905566 Merge pull request #50 from gookit/dependabot/go_modules/github.com/stretchr/...
    • 1823e0c build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0
    • 0ec8e78 chore: add more docs for detect color level on readme
    • d305f5f chore: update the readme add more HTML like tags usage
    • e12eb6f chore: update the limit go version and update release gh action
    • efc6d3f refactor: update and refactor the color tag parse logic
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/dave/jennifer from 1.4.1 to 1.5.1

    chore: bump github.com/dave/jennifer from 1.4.1 to 1.5.1

    Bumps github.com/dave/jennifer from 1.4.1 to 1.5.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump golang.org/x/tools from 0.1.7 to 0.1.12

    chore: bump golang.org/x/tools from 0.1.7 to 0.1.12

    Bumps golang.org/x/tools from 0.1.7 to 0.1.12.

    Commits
    • b3b5c13 internal/lsp/cache: invalidate packages with missing deps when files are
    • 39a4e36 internal/lsp/regtest: only run /default tests with -short
    • f157068 internal/lsp/regtest: allow sharing memoized results across regtests
    • 8ccb25c internal/lsp: treat struct tags as string type
    • 6c8a6c4 internal/lsp: suppress parameter hint when argument matches parameter
    • c83f42d internal/lsp: update inlay hints documentation to include go snippets
    • 8b47d4e all: update dependencies
    • 7600454 gopls: update dependencies
    • 2a6393f internal/lsp: Refactor to share logic with rename
    • 4375b29 cmd/auth/cookieauth: delete unreachable os.Exit
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/stretchr/testify from 1.7.0 to 1.8.0

    chore: bump github.com/stretchr/testify from 1.7.0 to 1.8.0

    Bumps github.com/stretchr/testify from 1.7.0 to 1.8.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/stretchr/testify from 1.7.0 to 1.7.5

    chore: bump github.com/stretchr/testify from 1.7.0 to 1.7.5

    Bumps github.com/stretchr/testify from 1.7.0 to 1.7.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/stretchr/testify from 1.7.0 to 1.7.4

    chore: bump github.com/stretchr/testify from 1.7.0 to 1.7.4

    Bumps github.com/stretchr/testify from 1.7.0 to 1.7.4.

    Commits
    • 48391ba Fix panic in AssertExpectations for mocks without expectations (#1207)
    • 840cb80 arrays value types in a zero-initialized state are considered empty (#1126)
    • 07dc7ee Bump actions/setup-go from 3.1.0 to 3.2.0 (#1191)
    • c33fc8d Bump actions/checkout from 2 to 3 (#1163)
    • 3c33e07 Added Go 1.18.1 as a build/supported version (#1182)
    • e2b56b3 Bump github.com/stretchr/objx from 0.1.0 to 0.4.0
    • 41453c0 Update gopkg.in/yaml.v3
    • 285adcc Update go versions in build matrix
    • 6e7fab4 Bump actions/setup-go from 2 to 3.1.0
    • 106ec21 use RWMutex
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/gookit/color from 1.4.2 to 1.5.1

    chore: bump github.com/gookit/color from 1.4.2 to 1.5.1

    Bumps github.com/gookit/color from 1.4.2 to 1.5.1.

    Release notes

    Sourced from github.com/gookit/color's releases.

    v1.5.1

    Change Log

    Feature

    Update

    Other

    v1.5.0

    Change Log

    Update

    Feature

    Other

    Commits
    • bef594f chore: update pkg limit go version to 1.14+
    • 95811af chore: update the basic color preview image
    • 7ba97b3 Merge pull request #46 from gookit/dependabot/go_modules/github.com/stretchr/...
    • 2d784a3 build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2
    • d5924d1 up: update some for build full color string
    • 85b9eb0 feat: add more quick start func for use color
    • fb141c4 up: update action, will auto generate changelog on release
    • 374b414 Merge pull request #44 from gookit/dependabot/go_modules/github.com/stretchr/...
    • 3ec6601 build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1
    • ef04058 doc: add more gookit project
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump golang.org/x/tools from 0.1.7 to 0.1.11

    chore: bump golang.org/x/tools from 0.1.7 to 0.1.11

    Bumps golang.org/x/tools from 0.1.7 to 0.1.11.

    Commits
    • 1d19788 internal/lsp/cache: always compute IsIntermediateTestVariant
    • 4a8620f internal/lsp/cache: move metadata fields to a new metadataGraph type
    • a3d129c internal/lsp/cache: extract module load errors when go.work is used
    • 6bfd3a4 Revert "internal: temporarily disable tests so we can land CL 410955"
    • 5ca4cc8 internal: temporarily disable tests so we can land CL 410955
    • 63dfc2d internal/lsp/cache: two minor optimizations
    • 030812f internal: remove unneeded FileSets
    • 2417911 go/analysis/internal/checker: add -test flag for single/multi-checkers
    • 43cce67 go/analysis: document need for deterministic Fact encoding
    • af82757 cmd/callgraph: add test of -algo=vta
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump github.com/itchyny/gojq from 0.12.5 to 0.12.11

    chore: bump github.com/itchyny/gojq from 0.12.5 to 0.12.11

    Bumps github.com/itchyny/gojq from 0.12.5 to 0.12.11.

    Release notes

    Sourced from github.com/itchyny/gojq's releases.

    Release v0.12.11

    • fix crash on the assignment operator (=) with multiple values (. = (0,0))
    • fix isnormal and normals functions against subnormal numbers

    Release v0.12.10

    • fix break in try-catch query (label $x | try break $x catch .)
    • fix path value validation for getpath function (path(getpath([[0]][0])))
    • fix path value validation for custom iterator functions
    • fix walk function with argument emitting multiple values ([1],{x:1} | walk(.,0))
    • fix @csv, @tsv, @sh to escape the null character (["\u0000"] | @csv,@tsv,@sh)
    • improve performance of assignment operator (=), update-assignment operator (|=), map_values, del, delpaths, walk, ascii_downcase, and ascii_upcase functions

    Release v0.12.9

    • fix fromjson to emit error on unexpected trailing string
    • fix path analyzer on variable argument evaluation (def f($x): .y; path(f(.x)))
    • fix raw input option --raw-input (-R) to keep carriage returns and support 64KiB+ lines

    Release v0.12.8

    • implement gojq.Compare for comparing values in custom internal functions
    • implement gojq.TypeOf for obtaining type name of values in custom internal functions
    • implement gojq.Preview for previewing values for error messages of custom internal functions
    • fix query lexer to parse string literals as JSON to support surrogate pairs ("\ud83d\ude04")
    • fix priority bug of declared and builtin functions (def empty: .; null | select(.))
    • fix string indexing by index out of bounds to emit null ("abc" | .[3])
    • fix array binding pattern not to match against strings ("abc" as [$a] ?// $a | $a)
    • fix sub and gsub functions to emit results in the same order of jq
    • fix fromjson to keep integer precision ("10000000000000000" | fromjson + 1)
    • fix stream option to raise error against incomplete JSON input
    • improve array updating index and string repetition to increase limitations
    • improve mktime to support nanoseconds, just like gmtime and now
    • improve query lexer to report unterminated string literals
    • improve performance of string indexing and slicing by reducing allocations
    • improve performance of object and array indexing, slicing, and iteration, by validating path values by comparing data addresses. This change improves jq compatibility of path value validation ({} | {}.x = 0, [0] | [.[]][] = 1). Also optimize constant indexing and slicing by specialized instruction
    • improve performance of add (on array of strings), flatten, min, max, sort, unique, join, to_entries, from_entries, indices, index, rindex, startswith, endswith, ltrimstr, rtrimstr, explode, capture, sub, and gsub functions

    Release v0.12.7

    • fix precedence of try expression against operators (try 0 * error(0))
    • fix iterator suffix with optional operator (0 | .x[]?)
    • fix stream option with slurp option or input, inputs functions
    • fix the command flag parser to support equal sign in short options with argument
    • fix string conversion of query including empty strings in module and import metadata
    • improve performance of isempty function

    ... (truncated)

    Changelog

    Sourced from github.com/itchyny/gojq's changelog.

    v0.12.11 (2022-12-24)

    • fix crash on assignment operators (=) with multiple values (. = (0,0))
    • fix isnormal and normals functions against subnormal numbers

    v0.12.10 (2022-12-01)

    • fix break in try-catch query (label $x | try break $x catch .)
    • fix path value validation for getpath function (path(getpath([[0]][0])))
    • fix path value validation for custom iterator functions
    • fix walk function with argument emitting multiple values ([1],{x:1} | walk(.,0))
    • fix @csv, @tsv, @sh to escape the null character (["\u0000"] | @csv,@tsv,@sh)
    • improve performance of assignment operator (=), update-assignment operator (|=), map_values, del, delpaths, walk, ascii_downcase, and ascii_upcase functions

    v0.12.9 (2022-09-01)

    • fix fromjson to emit error on unexpected trailing string
    • fix path analyzer on variable argument evaluation (def f($x): .y; path(f(.x)))
    • fix raw input option --raw-input (-R) to keep carriage returns and support 64KiB+ lines

    v0.12.8 (2022-06-01)

    • implement gojq.Compare for comparing values in custom internal functions
    • implement gojq.TypeOf for obtaining type name of values in custom internal functions
    • implement gojq.Preview for previewing values for error messages of custom internal functions
    • fix query lexer to parse string literals as JSON to support surrogate pairs ("\ud83d\ude04")
    • fix priority bug of declared and builtin functions (def empty: .; null | select(.))
    • fix string indexing by index out of bounds to emit null ("abc" | .[3])
    • fix array binding pattern not to match against strings ("abc" as [$a] ?// $a | $a)
    • fix sub and gsub functions to emit results in the same order of jq
    • fix fromjson to keep integer precision ("10000000000000000" | fromjson + 1)
    • fix stream option to raise error against incomplete JSON input
    • improve array updating index and string repetition to increase limitations
    • improve mktime to support nanoseconds, just like gmtime and now
    • improve query lexer to report unterminated string literals
    • improve performance of string indexing and slicing by reducing allocations
    • improve performance of object and array indexing, slicing, and iteration, by validating path values by comparing data addresses. This change improves jq compatibility of path value validation ({} | {}.x = 0, [0] | [.[]][] = 1). Also optimize constant indexing and slicing by specialized instruction
    • improve performance of add (on array of strings), flatten, min, max, sort, unique, join, to_entries, from_entries, indices, index, rindex, startswith, endswith, ltrimstr, rtrimstr, explode, capture, sub, and gsub functions

    v0.12.7 (2022-03-01)

    • fix precedence of try expression against operators (try 0 * error(0))
    • fix iterator suffix with optional operator (0 | .x[]?)
    • fix stream option with slurp option or input, inputs functions
    • fix the command flag parser to support equal sign in short options with argument
    • fix string conversion of query including empty strings in module and import metadata
    • improve performance of isempty function

    ... (truncated)

    Commits
    • 584107c bump up version to 0.12.11
    • 720bf54 update CHANGELOG.md for v0.12.11
    • e4b9b6a fix crash on assignment operators with multiple values
    • afc4c6c fix isnormal and normals functions against subnormal numbers
    • c1a3ebd bump up version to 0.12.10
    • 5294c9e update CHANGELOG.md for v0.12.10
    • 319a797 update dependencies
    • 20ca575 add notes on precedence of unary operators against variable binding
    • 62ffdf7 fix break in try catch syntax
    • 35c123b improve the order of test cases
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore: bump golang.org/x/tools from 0.1.12 to 0.4.0

    chore: bump golang.org/x/tools from 0.1.12 to 0.4.0

    Bumps golang.org/x/tools from 0.1.12 to 0.4.0.

    Release notes

    Sourced from golang.org/x/tools's releases.

    gopls/v0.4.0

    • Improved support for working with modules (@​ridersofrohan). A detailed walk-through of the new features can be found here. A quick summary:
      • Use the -modfile flag to suggest which modules should be added/removed from the go.mod file, rather than editing it automatically.
      • Suggest dependency upgrades in-editor and provide additional language features, such as formatting, for the go.mod file.
    • Inverse implementations (@​muirdm). "Go to implementations" on a concrete type will show the interfaces it implements.
    • Completion improvements (@​muirdm). Specifically, improved completion for keywords. Also, offer if err != nil { return err } as a completion item.
    • Jumping to definition on an import statement returns all files as definition locations (@​danishprakash).
    • Support for running go generate through the editor, via a code lens (@​marwan-at-work).
    • Command-line support for workspace symbols (@​daisuzu).

    Opt-in:

    • Code actions suggesting gofmt -s-style simplifications (@​ridersofrohan). To get these on-save, add the following setting:
    "[go]": {
    	"editor.codeActionsOnSave": {
    		"source.fixAll": true,
    	}
    }
    
    • Code actions suggesting fixes for type errors, such as missing return values (goreturns-style), undeclared names, unused parameters, and assignment statements that should be converted from := to = (@​ridersofrohan). Add the following to your gopls settings to opt-in to these analyzers. In the future, they will be on by default and high-confidence suggested fixes may be applied on save. See additional documentation on analyzers here.
    "gopls": {
    	"analyses": {
    		"fillreturns": true,
                    "undeclaredname": true,
                    "unusedparams": true,
                    "nonewvars": true,
    	}
    }
    
    • Further improvements in the support for multiple concurrent clients (@​findleyr). See #34111 for all details.

    For a complete list of the issues resolved, see the gopls/v0.4.0 milestone.

    gopls/v0.3.4

    gopls/v0.3.3

    • Support for workspace symbols. (@​daisuzu)
    • Various completion improvements, including fixes for completion in code that doesn't parse. (@​muirdm)
    • Limit diagnostic concurrency, preventing huge spikes in memory usage that some users encountered. (@​heschik)
    • Improved handling for URIs containing escaped characters. (@​heschik)
    • Module versions from "go list" in pkg.go.dev links. (@​ridersofrohan)

    ... (truncated)

    Commits
    • aee3994 gopls/internal/lsp/fake: in (*Workdir).RenameFile, fall back to read + write
    • fe60148 go.mod: update golang.org/x dependencies
    • c9ea9a7 gopls/internal/regtest: add a test for the case when the renaming package's p...
    • bf5db81 gopls/internal/lsp/cache: improve ad-hoc warning for nested modules
    • aa9f4b2 go/analysis: document that facts are gob encoded in one gulp
    • bdcd082 internal/gcimporter: skip tests earlier when 'go build' is not available
    • 2ad6325 gopls/internal/lsp/cache: expand ImportPath!=PackagePath comment
    • 52c7b88 gopls/internal/robustio: only define ERROR_SHARING_VIOLATION on Windows
    • 4f69bf3 gopls/internal/lsp/cache: narrow reloadOrphanedFiles to open files
    • 6002d6e gopls/internal/regtest/misc: test Implementations + vendor
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Fix JQ multi expression when working with arrays

    Fix JQ multi expression when working with arrays

    Description

    Following code fails in expect_body_json_jq_test.go

    		t.Run("array", func(t *testing.T) {
    			Test(t,
    				Post(s.URL),
    				Description("first expression returning an array"),
    				Expect().Body().JSON().JQ(".Bills", ".[].ID").Equal([]int{21, 25}),
    			)
    			Test(t,
    				Post(s.URL),
    				Description("first expression returning single json objects"),
    				Expect().Body().JSON().JQ(".Bills[]", ".ID").Equal([]int{21, 25}),
    			)
    		})
    
  • feat: add Dasel as an alternative to JQ

    feat: add Dasel as an alternative to JQ

    Description

    Add JSON().Dasel() methods.

    This should be a foundation for other file formats such as xml, yaml, etc.

    Notes

    • [x] Need to wait for release of https://github.com/TomWright/dasel/pull/251.
    • [x] Also needs update to go 1.17

    Checklist

    • [x] Ran make test
    • [x] Review README.md go //ignore sections
    • [x] Added Changelog entry to README.md when this is a #major or #minor release.
  • chore: bump go.uber.org/goleak from 1.1.12 to 1.2.0

    chore: bump go.uber.org/goleak from 1.1.12 to 1.2.0

    Bumps go.uber.org/goleak from 1.1.12 to 1.2.0.

    Release notes

    Sourced from go.uber.org/goleak's releases.

    v1.2.0

    Added

    • Add Cleanup option that can be used for registering cleanup callbacks. (#78)

    Changed

    • Mark VerifyNone as a test helper. (#75)

    Thanks to @​tallclair for their contribution to this release.

    Changelog

    Sourced from go.uber.org/goleak's changelog.

    1.2.0

    Added

    • Add Cleanup option that can be used for registering cleanup callbacks. (#78)

    Changed

    • Mark VerifyNone as a test helper. (#75)

    Thanks to @​tallclair for their contribution to this release.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Robust framework for running complex workload scenarios in isolation, using Go; for integration, e2e tests, benchmarks and more! 💪

e2e Go Module providing robust framework for running complex workload scenarios in isolation, using Go and Docker. For integration, e2e tests, benchma

Jan 5, 2023
Partial fork of testify framework with allure integration
Partial fork of testify framework with allure integration

allure-testify Оглавление Demo Getting started Examples Global environments keys How to use suite Allure info Test info Label Link Allure Actions Step

Dec 1, 2021
go-test-trace is like go test but it also generates distributed traces.
go-test-trace is like go test but it also generates distributed traces.

go-test-trace go-test-trace is like go test but it also generates distributed traces. Generated traces are exported in OTLP to a OpenTelemetry collect

Jan 5, 2023
Flugel Test Documentation for steps to run and test the automatio
Flugel Test Documentation for steps to run and test the automatio

Flugel Test Documentation Documentation for steps to run and test the automation #Test-01 1 - Local Test Using Terratest (End To End) 1- By runing " t

Nov 13, 2022
Test-assignment - Test assignment with golang
Test-assignment - Test assignment with golang

test-assignment We have a two steam of data and we need to save it in the map: I

Jan 19, 2022
This repository includes consumer driven contract test for provider, unit test and counter api.

This repository includes consumer driven contract test for provider, unit test and counter api.

Feb 1, 2022
A mock of Go's net package for unit/integration testing

netmock: Simulate Go network connections netmock is a Go package for simulating net connections, including delays and disconnects. This is work in pro

Oct 27, 2021
End to end functional test and automation framework
End to end functional test and automation framework

Declarative end to end functional testing (endly) This library is compatible with Go 1.12+ Please refer to CHANGELOG.md if you encounter breaking chan

Jan 6, 2023
Microservice Test Framework

This Microservice Test Framework (MTF) allows in simple way to mock service dependencies and setup docker test environment comprehensive.

Nov 22, 2022
Full-featured test framework for Go! Assertions, mocking, input testing, output capturing, and much more! 🍕
Full-featured test framework for Go! Assertions, mocking, input testing, output capturing, and much more! 🍕

testza ?? Testza is like pizza for Go - you could life without it, but why should you? Get The Module | Documentation | Contributing | Code of Conduct

Dec 10, 2022
A simple yet intuitive golang unit test framework.

gotest Intuitive and simple golang testing framework which helps in writing unit tests in a way which improves the readability of the test. Here is an

Jan 1, 2022
Testy is a Go test running framework designed for Gametime's API testing needs.

template_library import "github.com/gametimesf/template_library" Overview Index Overview Package template_library is a template repository for buildin

Jun 21, 2022
HTTP mocking to test API services for chaos scenarios
HTTP mocking to test API services for chaos scenarios

GAOS HTTP mocking to test API services for chaos scenarios Gaos, can create and provide custom mock restful services via using your fully-customizable

Nov 5, 2022
Http test server written in Golang.

Dummy Server Http test server written in Golang. Can get any request method and log headers, body, path and remote address. Useful if you need to know

Oct 31, 2021
Golang HTTP client testing framework

flute Golang HTTP client testing framework Presentation https://speakerdeck.com/szksh/flute-golang-http-client-testing-framework Overview flute is the

Sep 27, 2022
HTTP mock for Golang: record and replay HTTP/HTTPS interactions for offline testing

govcr A Word Of Warning I'm in the process of partly rewriting govcr to offer better support for cassette mutations. This is necessary because when I

Dec 28, 2022
Test your command line interfaces on windows, linux and osx and nodes viá ssh and docker

Commander Define language independent tests for your command line scripts and programs in simple yaml files. It runs on windows, osx and linux It can

Dec 17, 2022
Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test
Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test

embedded-postgres Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test. When testing this provides

Dec 27, 2022
Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻

Gnomock – tests without mocks ??️ Spin up entire dependency stack ?? Setup initial dependency state – easily! ?? Test against actual, close to product

Dec 29, 2022