public void testPut429()

in wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java [1411:1458]


    public void testPut429() throws Exception {

        try {

            StreamingWagon wagon = (StreamingWagon) getWagon();
            Server server = new Server();
            final AtomicBoolean called = new AtomicBoolean();

            AbstractHandler handler = new AbstractHandler() {
                public void handle(
                        String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
                        throws IOException, ServletException {
                    if (called.get()) {
                        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                        baseRequest.setHandled(true);
                    } else {
                        called.set(true);
                        response.setStatus(SC_TOO_MANY_REQUESTS);
                        baseRequest.setHandled(true);
                    }
                }
            };

            server.setHandler(handler);
            addConnector(server);
            server.start();

            wagon.connect(new Repository("id", getRepositoryUrl(server)));

            File tempFile = File.createTempFile("wagon", "tmp");
            tempFile.deleteOnExit();
            FileUtils.fileWrite(tempFile.getAbsolutePath(), "content");

            try {
                wagon.put(tempFile, "resource");
                fail();
            } finally {
                wagon.disconnect();

                server.stop();

                tempFile.delete();
            }

        } catch (TransferFailedException e) {
            assertTrue(true);
        }
    }