public LibResponse updateBook(Long id, BookDto bookdto) {
        log.info("Book DTO from PUT request : {}", bookdto);
        LibResponse resp = null;
        AuditDto audit = null;
        try {
            Call<LibResponse> callLibResponse = libraryClient.updateBook(id, bookdto);
            Response<LibResponse> libResponse = callLibResponse.execute();
            if (libResponse.isSuccessful()) {
                resp = libResponse.body();
                audit = auditMapper.populateAuditLogForPostAndPut(bookdto, resp, HttpMethod.PUT);
            } else {
                log.error("Error calling library client: {}", libResponse.errorBody());
                if (Objects.nonNull(libResponse.errorBody())) {
                    audit = auditMapper.populateAuditLogForException(
                            new ObjectMapper().writeValueAsString(bookdto),
                            HttpMethod.POST, libResponse.errorBody().string());
                }
            }
        } catch (Exception ex) {
            log.error("Error handling retrofit call for updateBook", ex);
            resp = new LibResponse(Constants.ERROR, "Failed");
        }

        if (Objects.nonNull(audit)) {
            AuditLog savedObj = auditRepository.save(libraryMapper.auditDtoToAuditLog(audit));
            log.info("Saved into audit successfully: {}", savedObj);
        }
        return resp;
    }
@Test
    @DisplayName("Successful call to update a book")
    public void putBookRequestTest() throws Exception {
        String booksResponse = getBooksResponse("/request/putBook.json");
        BookDto bookDto = new ObjectMapper().readValue(booksResponse, BookDto.class);
        LibResponse response = new LibResponse("Success", "Book updated successfully");
        when(libraryClient.updateBook(Long.valueOf("1"), bookDto)).thenReturn(Calls.response(response));
        doReturn(null).when(auditRepository).save(any());
        LibResponse libResponse = libraryAuditService.updateBook(Long.valueOf("1"), bookDto);
        assertAll(
                () -> assertNotNull(libResponse),
                () -> assertTrue(libResponse.getResponseCode().equals("Success"))
        );

    }