diff --git a/.changes/header.tpl.md b/.changes/header.tpl.md new file mode 100644 index 000000000..df8faa7b2 --- /dev/null +++ b/.changes/header.tpl.md @@ -0,0 +1,6 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), +and is generated by [Changie](https://github.com/miniscruff/changie). diff --git a/.changes/unreleased/.gitkeep b/.changes/unreleased/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/.changes/v0.5.04.md b/.changes/v0.5.04.md new file mode 100644 index 000000000..dcf199aef --- /dev/null +++ b/.changes/v0.5.04.md @@ -0,0 +1,5 @@ +## v0.5.4 - 2023-05-24 +### Added +* HTTP provider middlewares +### Fixed +* Refactoring HTTP providers diff --git a/.changes/v0.5.05.md b/.changes/v0.5.05.md new file mode 100644 index 000000000..a4fcff794 --- /dev/null +++ b/.changes/v0.5.05.md @@ -0,0 +1,3 @@ +## v0.5.5 - 2023-06-14 +### Added +* resolver for property file diff --git a/.changes/v0.5.06.md b/.changes/v0.5.06.md new file mode 100644 index 000000000..06160628d --- /dev/null +++ b/.changes/v0.5.06.md @@ -0,0 +1,3 @@ +## v0.5.6 - 2023-07-13 +### Added +* preloaded http providers diff --git a/.changes/v0.5.07.md b/.changes/v0.5.07.md new file mode 100644 index 000000000..f19172848 --- /dev/null +++ b/.changes/v0.5.07.md @@ -0,0 +1,3 @@ +## v0.5.7 - 2023-07-13 +### Added +* grpc answ.log diff --git a/.changes/v0.5.08.md b/.changes/v0.5.08.md new file mode 100644 index 000000000..85c1c69f8 --- /dev/null +++ b/.changes/v0.5.08.md @@ -0,0 +1,3 @@ +## v0.5.8 - 2023-07-26 +### Added +* Dummy provider diff --git a/.changes/v0.5.09.md b/.changes/v0.5.09.md new file mode 100644 index 000000000..74b2a69f3 --- /dev/null +++ b/.changes/v0.5.09.md @@ -0,0 +1,3 @@ +## v0.5.9 - 2023-09-22 +### Added +* scenario generator diff --git a/.changes/v0.5.10.md b/.changes/v0.5.10.md new file mode 100644 index 000000000..d75f4d12a --- /dev/null +++ b/.changes/v0.5.10.md @@ -0,0 +1,3 @@ +## v0.5.10 - 2023-10-02 +### Fixed +* grpc generator bugs diff --git a/.changes/v0.5.11.md b/.changes/v0.5.11.md new file mode 100644 index 000000000..e8f63cafa --- /dev/null +++ b/.changes/v0.5.11.md @@ -0,0 +1,3 @@ +## v0.5.11 - 2023-10-12 +### Fixed +* update go.mod diff --git a/.changes/v0.5.12.md b/.changes/v0.5.12.md new file mode 100644 index 000000000..e7fc47bb6 --- /dev/null +++ b/.changes/v0.5.12.md @@ -0,0 +1,4 @@ +## v0.5.12 - 2023-10-19 +### Fixed +* grpc provider scan +* grpc reflect client depreceted diff --git a/.changes/v0.5.13.md b/.changes/v0.5.13.md new file mode 100644 index 000000000..d5b939a47 --- /dev/null +++ b/.changes/v0.5.13.md @@ -0,0 +1,3 @@ +## v0.5.13 - 2023-10-20 +### Fixed +* scenario variable source diff --git a/.changes/v0.5.14.md b/.changes/v0.5.14.md new file mode 100644 index 000000000..2f0aa1937 --- /dev/null +++ b/.changes/v0.5.14.md @@ -0,0 +1,6 @@ +## v0.5.14 - 2023-10-26 +### Added +* http provider benchmarks +### Fixed +* http provider missing error +* error messages diff --git a/.changes/v0.5.15.md b/.changes/v0.5.15.md new file mode 100644 index 000000000..cd9836ccd --- /dev/null +++ b/.changes/v0.5.15.md @@ -0,0 +1,5 @@ +## v0.5.15 - 2023-11-09 +### Added +* std json-decoder with array payload +### Fixed +* docs: bit misspells diff --git a/.changes/v0.5.16.md b/.changes/v0.5.16.md new file mode 100644 index 000000000..63b781d21 --- /dev/null +++ b/.changes/v0.5.16.md @@ -0,0 +1,3 @@ +## v0.5.16 - 2023-11-10 +### Changed +* yaml format for config without extension diff --git a/.changes/v0.5.17.md b/.changes/v0.5.17.md new file mode 100644 index 000000000..b7d03f303 --- /dev/null +++ b/.changes/v0.5.17.md @@ -0,0 +1,3 @@ +## v0.5.17 - 2024-11-24 +### Fixed +* Internal refactoring: GetMapValue() diff --git a/.changes/v0.5.18.md b/.changes/v0.5.18.md new file mode 100644 index 000000000..7cbee4d3e --- /dev/null +++ b/.changes/v0.5.18.md @@ -0,0 +1,5 @@ +## v0.5.18 - 2024-01-15 +### Fixed +* refactoring http scenario gun +* fix acceptance tests +* fix AnswLog init diff --git a/.changes/v0.5.19.md b/.changes/v0.5.19.md new file mode 100644 index 000000000..1b844aa14 --- /dev/null +++ b/.changes/v0.5.19.md @@ -0,0 +1,3 @@ +## v0.5.19 - 2024-01-25 +### Added +* grpc scenario generator diff --git a/.changes/v0.5.20.md b/.changes/v0.5.20.md new file mode 100644 index 000000000..41a3cc397 --- /dev/null +++ b/.changes/v0.5.20.md @@ -0,0 +1,3 @@ +## v0.5.20 - 2024-01-29 +### Fixed +* http config: fix limit and passes diff --git a/.changes/v0.5.21.md b/.changes/v0.5.21.md new file mode 100644 index 000000000..9ded51bc7 --- /dev/null +++ b/.changes/v0.5.21.md @@ -0,0 +1,4 @@ +## v0.5.21 - 2024-02-02 +### Added +* parameterizable grpc reflection port +* changelog diff --git a/.mapping.json b/.mapping.json index d69aafbc3..af6e175ba 100644 --- a/.mapping.json +++ b/.mapping.json @@ -1,10 +1,31 @@ { + ".changes/header.tpl.md":"load/projects/pandora/.changes/header.tpl.md", + ".changes/unreleased/.gitkeep":"load/projects/pandora/.changes/unreleased/.gitkeep", + ".changes/v0.5.04.md":"load/projects/pandora/.changes/v0.5.04.md", + ".changes/v0.5.05.md":"load/projects/pandora/.changes/v0.5.05.md", + ".changes/v0.5.06.md":"load/projects/pandora/.changes/v0.5.06.md", + ".changes/v0.5.07.md":"load/projects/pandora/.changes/v0.5.07.md", + ".changes/v0.5.08.md":"load/projects/pandora/.changes/v0.5.08.md", + ".changes/v0.5.09.md":"load/projects/pandora/.changes/v0.5.09.md", + ".changes/v0.5.10.md":"load/projects/pandora/.changes/v0.5.10.md", + ".changes/v0.5.11.md":"load/projects/pandora/.changes/v0.5.11.md", + ".changes/v0.5.12.md":"load/projects/pandora/.changes/v0.5.12.md", + ".changes/v0.5.13.md":"load/projects/pandora/.changes/v0.5.13.md", + ".changes/v0.5.14.md":"load/projects/pandora/.changes/v0.5.14.md", + ".changes/v0.5.15.md":"load/projects/pandora/.changes/v0.5.15.md", + ".changes/v0.5.16.md":"load/projects/pandora/.changes/v0.5.16.md", + ".changes/v0.5.17.md":"load/projects/pandora/.changes/v0.5.17.md", + ".changes/v0.5.18.md":"load/projects/pandora/.changes/v0.5.18.md", + ".changes/v0.5.19.md":"load/projects/pandora/.changes/v0.5.19.md", + ".changes/v0.5.20.md":"load/projects/pandora/.changes/v0.5.20.md", + ".changes/v0.5.21.md":"load/projects/pandora/.changes/v0.5.21.md", ".github/workflows/release.yml":"load/projects/pandora/.github/workflows/release.yml", ".github/workflows/test.yml":"load/projects/pandora/.github/workflows/test.yml", ".gitignore":"load/projects/pandora/.gitignore", ".goxc.json":"load/projects/pandora/.goxc.json", ".travis.yml":"load/projects/pandora/.travis.yml", "AUTHORS":"load/projects/pandora/AUTHORS", + "CHANGELOG.md":"load/projects/pandora/CHANGELOG.md", "LICENSE":"load/projects/pandora/LICENSE", "Makefile":"load/projects/pandora/Makefile", "README.md":"load/projects/pandora/README.md", diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..7b1d85733 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,90 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), +and is generated by [Changie](https://github.com/miniscruff/changie). + + +## v0.5.21 - 2024-02-02 +### Added +* parameterizable grpc reflection port +* changelog + +## v0.5.20 - 2024-01-29 +### Fixed +* http config: fix limit and passes + +## v0.5.19 - 2024-01-25 +### Added +* grpc scenario generator + +## v0.5.18 - 2024-01-15 +### Fixed +* refactoring http scenario gun +* fix acceptance tests +* fix AnswLog init + +## v0.5.17 - 2024-11-24 +### Fixed +* Internal refactoring: GetMapValue() + +## v0.5.16 - 2023-11-10 +### Changed +* yaml format for config without extension + +## v0.5.15 - 2023-11-09 +### Added +* std json-decoder with array payload +### Fixed +* docs: bit misspells + +## v0.5.14 - 2023-10-26 +### Added +* http provider benchmarks +### Fixed +* http provider missing error +* error messages + +## v0.5.13 - 2023-10-20 +### Fixed +* scenario variable source + +## v0.5.12 - 2023-10-19 +### Fixed +* grpc provider scan +* grpc reflect client depreceted + +## v0.5.11 - 2023-10-12 +### Fixed +* update go.mod + +## v0.5.10 - 2023-10-02 +### Fixed +* grpc generator bugs + +## v0.5.9 - 2023-09-22 +### Added +* scenario generator + +## v0.5.8 - 2023-07-26 +### Added +* Dummy provider + +## v0.5.7 - 2023-07-13 +### Added +* grpc answ.log + +## v0.5.6 - 2023-07-13 +### Added +* preloaded http providers + +## v0.5.5 - 2023-06-14 +### Added +* resolver for property file + +## v0.5.4 - 2023-05-24 +### Added +* HTTP provider middlewares +### Fixed +* Refactoring HTTP providers diff --git a/README.md b/README.md index ccb4a9072..4a3cd77fc 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,30 @@ pandora myconfig.yaml Or use Pandora with [Yandex.Tank](https://yandextank.readthedocs.io/en/latest/core_and_modules.html#pandora) and [Overload](https://overload.yandex.net). -### Documentation +## Changelog + +Install https://github.com/miniscruff/changie + +You can add changie completion to you favorite shell https://changie.dev/cli/changie_completion/ + +### Using + +See https://changie.dev/guide/quick-start/ + +Show current version `changie latest` + +Show next minor version `changie next minor` + +Add new comments - `changie new` - and follow interface + +Create changelog release file - `changie batch v0.5.21` + +Same for next version - `changie batch $(changie next patch)` + +Merge to main CHANGELOG.md file - `changie merge` + +## Documentation [Documentation](https://yandex.github.io/pandora/) -### Old Documentation +## Old Documentation [ReadTheDocs](https://yandexpandora.readthedocs.io/) diff --git a/cli/cli.go b/cli/cli.go index ac8cd1670..cb1e7af7a 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -25,7 +25,7 @@ import ( "go.uber.org/zap/zapcore" ) -const Version = "0.5.20" +const Version = "0.5.21" const defaultConfigFile = "load" const stdinConfigSelector = "-" diff --git a/components/guns/grpc/core.go b/components/guns/grpc/core.go index bfd2e1422..198531e23 100644 --- a/components/guns/grpc/core.go +++ b/components/guns/grpc/core.go @@ -285,6 +285,11 @@ func replacePort(host string, port int64) string { return host + ":" + strconv.FormatInt(port, 10) } + oldPort := split[len(split)-1] + if _, err := strconv.ParseInt(oldPort, 10, 64); err != nil { + return host + ":" + strconv.FormatInt(port, 10) + } + split[len(split)-1] = strconv.FormatInt(port, 10) return strings.Join(split, ":") } diff --git a/components/guns/grpc/core_test.go b/components/guns/grpc/core_test.go index 6e2fdceca..ce1c2e7d5 100644 --- a/components/guns/grpc/core_test.go +++ b/components/guns/grpc/core_test.go @@ -25,6 +25,12 @@ func Test_replacePort(t *testing.T) { port: 9999, want: "[2a02:6b8:c02:901:0:fc5f:9a6c:4]:9999", }, + { + name: "add port to ipv6", + host: "[2a02:6b8:c02:901:0:fc5f:9a6c:4]", + port: 9999, + want: "[2a02:6b8:c02:901:0:fc5f:9a6c:4]:9999", + }, { name: "replace ipv4", host: "127.0.0.1:8888",