public BookDto getBooks(String bookRequest) {
        Response<BookDto> allBooksResponse = null;
        BookDto books = null;
        try {
            AuditDto audit = null;
            allBooksResponse = libraryClient.getAllBooksWithHeaders(bookRequest).execute();
            if (allBooksResponse.isSuccessful()) {
                books = allBooksResponse.body();
                log.info("Get All Books : {}", books);
                audit = auditMapper.populateAuditLogForGetBook(books);
            } else {
                log.error("Error calling library client: {}", allBooksResponse.errorBody());
                if (Objects.nonNull(allBooksResponse.errorBody())) {
                    audit = auditMapper.populateAuditLogForException(
                            null, HttpMethod.GET, allBooksResponse.errorBody().string());
                }

            }

            if (Objects.nonNull(audit)) {
                AuditLog savedObj = auditRepository.save(libraryMapper.auditDtoToAuditLog(audit));
                log.info("Saved into audit successfully: {}", savedObj);
            }
            return books;
        } catch (Exception ex) {
            log.error("Error handling retrofit call for getAllBooks", ex);
            return books;
        }

    }
@Test
    @DisplayName("Successful call to get a specific book")
    public void getRequestBookTest() throws Exception {
        String booksResponse = getBooksResponse("/response/getOneBook.json");
        BookDto bookDto = new ObjectMapper().readValue(booksResponse, BookDto.class);
        when(libraryClient.getAllBooksWithHeaders("1")).thenReturn(Calls.response(bookDto));
        doReturn(null).when(auditRepository).save(any());
        BookDto book = libraryAuditService.getBooks("1");
        assertAll(
                () -> assertNotNull(book),
                () -> assertTrue(book.getId()==1)
        );

    }