Robert Henzel
08/25/2022, 6:12 AM2022/08/24 17:38:41 [DEBUG] initialising rust mock server interface
2022/08/24 17:38:41 [DEBUG] log_to_stdout res 0
2022/08/24 17:38:41 [DEBUG] waiting for port 8222 to become available
2022/08/24 17:38:41 [DEBUG] executing verifier FFI with args [--hostname localhost --port 8222 --user admin --password 3@Gqd4Z7MkcLqD --broker-url <https://pact.internal.apps-broker.io/> --provider-version dev --provider-name module-producer --loglevel info]
2022-08-24T15:38:41.195073Z TRACE ThreadId(01) mio::poll: registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
2022-08-24T15:38:41.195726Z ERROR ThreadId(01) pact_ffi::verifier::verifier: error verifying Pact: "error: The argument '--user <user>' requires 1 values, but 2 were provided\n\nUSAGE:\n pact_verifier_cli --broker-url <broker-url> --dir <dir>... --file <file>... --hostname <hostname> --loglevel <loglevel> --password <password> --port <port> --provider-name <provider-name> --provider-version <provider-version> --scheme <scheme> --url <url>... --user <user>\n\nFor more information try --help" Error { message: "error: The argument '--user <user>' requires 1 values, but 2 were provided\n\nUSAGE:\n pact_verifier_cli --broker-url <broker-url> --dir <dir>... --file <file>... --hostname <hostname> --loglevel <loglevel> --password <password> --port <port> --provider-name <provider-name> --provider-version <provider-version> --scheme <scheme> --url <url>... --user <user>\n\nFor more information try --help", kind: WrongNumberOfValues, info: Some(["user"]) }
=== RUN TestGrpcProvider/Provider_pact_verification
plugin_verifier.go:56: an unknown error ocurred when verifying the provider (this indicates a defect in the framework
=== CONT TestGrpcProvider
provider_test.go:166:
Error Trace: provider_test.go:166
Error: Received unexpected error:
an unknown error ocurred when verifying the provider (this indicates a defect in the framework
Test: TestGrpcProvider
--- FAIL: TestGrpcProvider (0.06s)
--- FAIL: TestGrpcProvider/Provider_pact_verification (0.00s)
FAIL
FAIL command-line-arguments 2.891s
FAIL
I think it has something to do with parsing the variables and calling ffi from library.
I use Pact-goMatt (pactflow.io / pact-js / pact-go)
PACT_BROKER_
variables in your shell? I think it might be thatMatt (pactflow.io / pact-js / pact-go)
Robert Henzel
08/25/2022, 6:20 AMRobert Henzel
08/25/2022, 6:20 AM➜ producer git:(ROSI-145) ✗ echo $PACT_BROKER_PASSWORD
3GX6u4sa7MdsacLqD
Robert Henzel
08/25/2022, 6:21 AMRobert Henzel
08/25/2022, 6:21 AMMatt (pactflow.io / pact-js / pact-go)
Robert Henzel
08/25/2022, 6:23 AMRobert Henzel
08/25/2022, 6:23 AMRobert Henzel
08/25/2022, 6:27 AMMatt (pactflow.io / pact-js / pact-go)
Matt (pactflow.io / pact-js / pact-go)
source ~/.zshrc
Matt (pactflow.io / pact-js / pact-go)
reload!
)Robert Henzel
08/25/2022, 6:30 AMRobert Henzel
08/25/2022, 6:31 AMRobert Henzel
08/25/2022, 6:35 AMIn ~/.zshrc or ~/.bashrc:
export PACT_BROKER_BASE_URL=<https://pact.internal.apps-apps.com/>
export PACT_BROKER_USERNAME=admin
export PACT_BROKER_PASSWORD=3GX6udsadsacLqD
In code
err = verifier.VerifyProvider(t, provider.VerifyPluginRequest{
ProviderAddress: "<http://localhost:8222>",
Provider: "module-producer",
BrokerURL: os.Getenv("PACT_BROKER_BASE_URL"),
ProviderVersion: "dev",
})
assert.NoError(t, err)
Don't fill the username and password VerifyPluginRequest fields. They will be taken from enviroment vars.Robert Henzel
08/25/2022, 6:35 AMMatt (pactflow.io / pact-js / pact-go)
Robert Henzel
08/25/2022, 6:54 AMMatt (pactflow.io / pact-js / pact-go)