public LibResponse createBook(BookDto bookDto) {
        log.info("Book DTO from POST request : {}", bookDto);
        LibResponse resp = null;
        AuditDto audit = null;
        try {
            Call<LibResponse> callLibResponse = libraryClient.createNewBook(bookDto);
            Response<LibResponse> libResponse = callLibResponse.execute();
            if (libResponse.isSuccessful()) {
                resp = libResponse.body();
                audit = auditMapper.populateAuditLogForPostAndPut(bookDto, resp, HttpMethod.POST);
            } 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());
                }
            }
            if (Objects.nonNull(audit)) {
                AuditLog savedObj = auditRepository.save(libraryMapper.auditDtoToAuditLog(audit));
                log.info("Saved into audit successfully: {}", savedObj);
            }
            return resp;
        } catch (Exception ex) {
            log.error("Error handling retrofit call for createNewBook", ex);
            return new LibResponse(Constants.ERROR, "Failed");
        }

    }
@Test
    @DisplayName("Successful call to create a book")
    public void postBookRequestTest() throws Exception {
        String booksResponse = getBooksResponse("/request/postBook.json");
        BookDto bookDto = new ObjectMapper().readValue(booksResponse, BookDto.class);
        LibResponse response = new LibResponse("Success", "Book created successfully");
        when(libraryClient.createNewBook(bookDto)).thenReturn(Calls.response(response));
        doReturn(null).when(auditRepository).save(any());
        LibResponse libResponse = libraryAuditService.createBook(bookDto);
        assertAll(
                () -> assertNotNull(libResponse),
                () -> assertTrue(libResponse.getResponseCode().equals("Success"))
        );

    }