@@ -53,4 +53,76 @@ public void testRetries_Write() throws Exception {
5353 VaultTestUtils .shutdownMockVault (server );
5454 }
5555
56+ @ Test
57+ public void testRetries_Read_412 () throws Exception {
58+ final RetriesMockVault retriesMockVault = new RetriesMockVault (3 , 412 , 200 ,
59+ "{\" lease_id\" :\" 12345\" ,\" renewable\" :false,\" lease_duration\" :10000,\" data\" :{\" value\" :\" mock\" }}" );
60+ final Server server = VaultTestUtils .initHttpMockVault (retriesMockVault );
61+ server .start ();
62+
63+ final VaultConfig vaultConfig = new VaultConfig ().address ("http://127.0.0.1:8999" )
64+ .token ("mock_token" ).engineVersion (1 ).build ();
65+ final Vault vault = Vault .create (vaultConfig );
66+ final LogicalResponse response = vault .withRetries (5 , 100 ).logical ().read ("secret/hello" );
67+ assertEquals (3 , response .getRetries ());
68+ assertEquals ("mock" , response .getData ().get ("value" ));
69+
70+ VaultTestUtils .shutdownMockVault (server );
71+ }
72+
73+ @ Test
74+ public void testRetries_Write_412 () throws Exception {
75+ final RetriesMockVault retriesMockVault = new RetriesMockVault (3 , 412 , 204 , null );
76+ final Server server = VaultTestUtils .initHttpMockVault (retriesMockVault );
77+ server .start ();
78+
79+ final VaultConfig vaultConfig = new VaultConfig ().address ("http://127.0.0.1:8999" )
80+ .token ("mock_token" ).build ();
81+ final Vault vault = Vault .create (vaultConfig );
82+ final LogicalResponse response = vault .withRetries (5 , 100 ).logical ()
83+ .write ("secret/hello" , new HashMap <String , Object >() {{
84+ put ("value" , "world" );
85+ }});
86+ assertEquals (3 , response .getRetries ());
87+
88+ VaultTestUtils .shutdownMockVault (server );
89+ }
90+
91+ @ Test
92+ public void testNoRetries_Read_404 () throws Exception {
93+ final RetriesMockVault retriesMockVault = new RetriesMockVault (1 , 404 , 404 ,
94+ "{\" errors\" :[\" Not found\" ]}" );
95+ final Server server = VaultTestUtils .initHttpMockVault (retriesMockVault );
96+ server .start ();
97+
98+ final VaultConfig vaultConfig = new VaultConfig ().address ("http://127.0.0.1:8999" )
99+ .token ("mock_token" ).engineVersion (1 ).build ();
100+ final Vault vault = Vault .create (vaultConfig );
101+ final LogicalResponse response = vault .withRetries (5 , 100 ).logical ().read ("secret/hello" );
102+ assertEquals (0 , response .getRetries ());
103+ assertEquals (404 , response .getRestResponse ().getStatus ());
104+
105+ VaultTestUtils .shutdownMockVault (server );
106+ }
107+
108+ @ Test
109+ public void testNoRetries_Write_400 () throws Exception {
110+ final RetriesMockVault retriesMockVault = new RetriesMockVault (1 , 400 , 400 ,
111+ "{\" errors\" :[\" Bad request\" ]}" );
112+ final Server server = VaultTestUtils .initHttpMockVault (retriesMockVault );
113+ server .start ();
114+
115+ final VaultConfig vaultConfig = new VaultConfig ().address ("http://127.0.0.1:8999" )
116+ .token ("mock_token" ).build ();
117+ final Vault vault = Vault .create (vaultConfig );
118+ final LogicalResponse response = vault .withRetries (5 , 100 ).logical ()
119+ .write ("secret/hello" , new HashMap <String , Object >() {{
120+ put ("value" , "world" );
121+ }});
122+ assertEquals (0 , response .getRetries ());
123+ assertEquals (400 , response .getRestResponse ().getStatus ());
124+
125+ VaultTestUtils .shutdownMockVault (server );
126+ }
127+
56128}
0 commit comments