http integration test framework

Overview

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
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)
    dependencies chore go 
    opened by dependabot[bot] 3
  • 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/[email protected]
      - uses: actions/[email protected]
        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/[email protected]
      - uses: actions/[email protected]
        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)
    dependencies chore github_actions 
    opened by dependabot[bot] 3
  • 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)
    dependencies chore go 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore go 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore go 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore go 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore go 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore 
    opened by dependabot[bot] 2
  • 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)
    dependencies chore 
    opened by dependabot[bot] 2
  • chore: bump github.com/itchyny/gojq from 0.12.5 to 0.12.10

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

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

    Release notes

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

    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

    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

    ... (truncated)

    Changelog

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

    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

    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

    ... (truncated)

    Commits
    • 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
    • fe0e20a improve performance of ascii_downcase, ascii_upcase functions
    • 76648c7 improve match/2 to reduce syntax tree nodes just like splits/2
    • 6a683bb improve the install targets in Makefile
    • 6631dd3 escape the null character in csv, tsv, sh formats (close #200)
    • 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)
    dependencies chore go 
    opened by dependabot[bot] 0
  • chore: bump golangci/golangci-lint-action from 3.3.0 to 3.3.1

    chore: bump golangci/golangci-lint-action from 3.3.0 to 3.3.1

    Bumps golangci/golangci-lint-action from 3.3.0 to 3.3.1.

    Release notes

    Sourced from golangci/golangci-lint-action's releases.

    v3.3.1

    What's Changed

    Full Changelog: https://github.com/golangci/golangci-lint-action/compare/v3...v3.3.1

    Commits
    • 0ad9a09 build(deps-dev): bump @​typescript-eslint/parser from 5.41.0 to 5.42.0 (#599)
    • 235ea57 build(deps-dev): bump eslint from 8.26.0 to 8.27.0 (#598)
    • a6ed001 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.41.0 to 5.42.0 ...
    • 3a7156a build(deps-dev): bump @​typescript-eslint/parser from 5.40.1 to 5.41.0 (#596)
    • 481f8ba build(deps): bump @​types/semver from 7.3.12 to 7.3.13 (#595)
    • 06edb37 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.40.1 to 5.41.0 ...
    • c2f79a7 build(deps): bump @​actions/cache from 3.0.5 to 3.0.6 (#593)
    • d6eac69 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.40.0 to 5.40.1 ...
    • 7268434 build(deps-dev): bump eslint from 8.25.0 to 8.26.0 (#591)
    • a926e2b build(deps-dev): bump @​typescript-eslint/parser from 5.40.0 to 5.40.1 (#590)
    • See full diff 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)
    dependencies chore github_actions 
    opened by dependabot[bot] 0
  • chore: bump golang.org/x/tools from 0.1.12 to 0.3.0

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

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

    Release notes

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

    gopls/v0.3.0

    Note: gopls now loads your entire workspace, where “workspace” is directory you opened in your editor.

    In module mode, you must open your module root (directory containing the go.mod file) or a subdirectory.

    In GOPATH mode, you must open your GOPATH/src or a directory within it. If you have a large GOPATH and you open your GOPATH as your workspace root, gopls may be very slow to load. Please see #36899 for further information.

    • Autocompletion from unimported packages is on by default. You will get completions for something like fmt.Printf even if “fmt” isn’t imported yet. (@​heschik)
    • Workspace-scoped references, rename, and go to implementation. These features use your workspace root as the search scope, so behavior will vary based on the directory you open in your editor. This may result in unexpected behavior. (@​muirdm, @​matloob)
    • Workspace-wide diagnostics. You will now see errors in your entire workspace, rather than just in your currently open files. Analysis errors will only be shown for packages with currently open files.
    • Watch file changes on disk. This allows users to switch branches without reloading their editors. Also, changing configurations no longer requires an editor reload.
    • GOPATH vendoring is fully supported. Previously, some features would ignore vendor directories, causing errors if packages weren't in GOPATH. (@​heschik)
    • New autocompletion suggestions for type conversions. Improved completions for literal candidates and variadic functions. Better rankings, including rankings for builtin functions and keywords. (@​muirdm)
    • Highlighting improvements: Highlighting now applies not only to variables, but also to fields, methods, types, and imports. Additional highlighting helps visualize control flow in loops and functions. Highlighting of single character variables has better support. (@​ridersofrohan)
    • Documentation on hover includes links to pkg.go.dev for exported symbols. (@​Southclaws)
    • Improved support for cgo dependencies. All features now work for packages that have cgo dependencies. Authoring cgo packages is still not supported, but improvements are scheduled for Go 1.15 (see #35721). (@​heschik)
    • Deep completions are now on by default. This feature of completion will search the fields and methods of all available candidates to see if there are any more candidates with the expected type. As an example, say you have imported the context package and are calling a function that takes a context.Context as a parameter. In the case that you don’t have a variable of that type in scope, deep completions will suggest context.Background() and context.TODO(). (@​muirdm)

    Opt-in:

    • staticcheck analyses remain opt-in and can be enabled by setting "staticcheck": true in your gopls settings.
    • Go 1.14 will support running the go command without modifying the user’s go.mod file. This new feature is used in gopls to show diagnostics and suggest edits in a user’s go.mod file rather than change the file without the user noticing. Currently, gopls will suggest removing unused dependencies and warn the user if there is a parse error in the go.mod file. Enable this behavior by using the go1.14 beta and setting "tempModfile": true in your gopls settings. (@​ridersofrohan)

    gopls/v0.2.2

    • Fix concurrent map read and write when a file is created (CL 210199).
    • Fix issue that caused errors to show up when a new file was created (CL 209978).

    gopls/v0.2.1

    • Fix for parse errors showing up as errors on the whole package (CL 206597).

    gopls/v0.2.0

    • Many improvements to autocompletion. In particular, support for completions of array, slice, map, and function literals (@​muirdm).
    • A new diff algorithm (github.com/sergi/go-diff) that improves handling of line endings on different operating systems (@​ianthehat).
    • Improved caching and memory usage (@​stamblerre).
    • Command-line support for links, suggested fixes, and imports (@​kalmanb).
    • Command-line support for references, signature, and symbols (@​rentziass).
    • Command-line support for rename (@​hartzell).

    Opt-in:

    • Get diagnostics from staticcheck by configuring "staticcheck": true in your gopls settings (@​ianthehat).
    • Get autocompletion of unimported packages and symbols by configuring "completeUnimported": true in your gopls settings (@​heschik).
    Commits
    • 502c634 go.mod: update golang.org/x dependencies
    • bd04e32 internal/jsonrpc2_v2: eliminate a potential Accept/Dial race in TestIdleTimeout
    • d41a43b internal/jsonrpc2_v2: fix a potential deadlock when (*Conn).Close is invoked ...
    • 3057465 gopls/doc: Add plugin for Lapce to gopls documentation
    • ba92ae1 internal/persistent: avoid incorrect map validation due to multiple keys
    • 9474ca3 gopls/doc: clarify go work use
    • 003fde1 internal/gcimporter: use nondeprecated go/packages mode bits
    • 5050657 gopls/fake: add semantic token modifiers to fake editor
    • 88a3548 gopls/coverage: repair coverage.go
    • 8e0240a internal/regtest/workspace: permanently skip TestDeleteModule_Interdependent
    • 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)
    dependencies chore go 
    opened by dependabot[bot] 0
  • 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}),
    			)
    		})
    
    opened by Eun 0
  • 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.
    feature 
    opened by Eun 0
  • 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)
    dependencies chore go 
    opened by dependabot[bot] 2
Releases(v0.5.23)
Owner
Tobias Salzmann
Tobias Salzmann
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

null 133 Nov 27, 2022
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

null 3 Dec 1, 2021
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

JBD 376 Nov 21, 2022
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

Suc0_Unix 0 Nov 13, 2022
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

null 0 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.

Ahmet Zümberoğlu 0 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

Lucas Wolf 1 Oct 27, 2021
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

Viant, Inc 226 Nov 30, 2022
Microservice Test Framework

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

Marek Smoliński 76 Nov 22, 2022
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

Marvin Wendt 408 Nov 15, 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

null 1 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

Gametime United, Inc. 4 Jun 21, 2022
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

Trendyol Open Source 211 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

Yury Krylov 0 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

Shunsuke Suzuki 17 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

Seb C 138 Nov 23, 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

null 206 Nov 14, 2022
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

Fergus Strange 472 Nov 30, 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

Yury Fedorov 997 Nov 30, 2022