Dropwizard
アプリケーションの統合テストを作成して、RESTサービスをテストしています。 私のアプリは、クッキーとの基本認証を持っています。Dropwizard統合テストのSecurityContextを取得
だから私は作成したClassRule:
@ClassRule public static final DropwizardAppRule<RESTServerConfiguration> RULE = new DropwizardAppRule<>(RESTServer.class, ResourceHelpers.resourceFilePath("serverconfig.yml"));
私はlogin
メソッドをテストする場合:
final Response response = RULE.client().target("http://localhost:" + RULE.getLocalPort() + "/api/users/login") .request(MediaType.APPLICATION_JSON) .post(Entity.json("{\"username\": \"admin\", \"password\": \"admin\"}"));
すべてが正常に動作します。
しかし、私は保護されたリソースをテストしようとすると、例えば:
final TestResponse response = RULE.client().target("http://localhost:" + RULE.getLocalPort() + "/api/users/getAllUsers") .request() .get(TestResponse.class);
それが401エラーで失敗します。
SecurityContextを取得したり、セッションをどこに保存したりできますか?
あなたはすべてをする必要はありません。 '.cookie(entry.getValue()。toCookie())'を使うことができます。そしてなぜループするのだろう? map.getを実行してnullを確認してください。または単にクッキーをすべて送信したい場合は、https://stackoverflow.com/a/46878059/2587435 –
@peeskilletのようにしてください。コメントをいただきありがとうございます。ループは本当に役に立たない。 – htshame