Java源码示例:au.com.dius.pact.provider.junit.loader.PactBrokerAuth

示例1
@NotNull
PactLoader pactBrokerLoader(ValueResolver resolver, List<String> tags)
		throws IOException {
	Resource repo = this.stubRunnerOptions.getStubRepositoryRoot();
	String schemeSpecificPart = schemeSpecificPart(repo.getURI());
	URI pactBrokerUrl = URI.create(schemeSpecificPart);
	String stubRunnerUsername = this.stubRunnerOptions.getUsername();
	String stubRunnerPassword = this.stubRunnerOptions.getPassword();
	return new PactBrokerLoader(new PactBroker() {

		@Override
		public Class<? extends Annotation> annotationType() {
			return PactBroker.class;
		}

		@Override
		public String host() {
			return resolver
					.resolveValue("pactbroker.host:" + pactBrokerUrl.getHost());
		}

		@Override
		public String port() {
			return resolver
					.resolveValue("pactbroker.port:" + pactBrokerUrl.getPort());
		}

		@Override
		public String scheme() {
			return resolver
					.resolveValue("pactbroker.protocol:" + pactBrokerUrl.getScheme());
		}

		@Override
		public String[] tags() {
			return tags.toArray(new String[0]);
		}

		@Override
		public String[] consumers() {
			return new String[] { resolver.resolveValue("pactbroker.consumers:") };
		}

		@Override
		public PactBrokerAuth authentication() {
			return new PactBrokerAuth() {
				@Override
				public Class<? extends Annotation> annotationType() {
					return PactBrokerAuth.class;
				}

				@Override
				public String scheme() {
					return resolver.resolveValue("pactbroker.auth.scheme:Basic");
				}

				@Override
				public String username() {
					return resolver.resolveValue(
							"pactbroker.auth.username:" + stubRunnerUsername);
				}

				@Override
				public String password() {
					return resolver.resolveValue(
							"pactbroker.auth.password:" + stubRunnerPassword);
				}

				@Override
				public String token() {
					return resolver.resolveValue("pactbroker.auth.token:");
				}
			};
		}

		@Override
		public Class<? extends ValueResolver> valueResolver() {
			return SystemPropertyResolver.class;
		}
	});
}