// Path: src/main/java/se/bjurr/gitchangelog/api/exceptions/GitChangelogIntegrationException.java
// public class GitChangelogIntegrationException extends Exception {
// 
//   private static final long serialVersionUID = 4249741847365803709L;
// 
//   public GitChangelogIntegrationException(String message, Throwable throwable) {
//     super(message, throwable);
//   }
// 
//   public GitChangelogIntegrationException(String message) {
//     super(message);
//   }
// }


import static org.assertj.core.api.Assertions.assertThat;
import java.util.Map;
import java.util.Optional;
import org.junit.Test;
import se.bjurr.gitchangelog.api.exceptions.GitChangelogIntegrationException;
    final JiraClient client = this.createClient("https://server.com/jira");
    assertThat(client.getApi()) //
        .isEqualTo("https://server.com/jira");
  }

  private JiraClient createClient(final String api) {
    return new JiraClient(api) {

      @Override
      public JiraClient withBasicCredentials(final String username, final String password) {
        return null;
      }

      @Override
      public JiraClient withBearer(final String bearer) {
        return null;
      }

      @Override
      public JiraClient withTokenCredentials(final String token) {
        return null;
      }

      @Override
      public JiraClient withHeaders(final Map<String, String> headers) {
        return null;
      }

      @Override
      public Optional<JiraIssue> getIssue(final String matched)
// Path: src/main/java/se/bjurr/gitchangelog/api/exceptions/GitChangelogIntegrationException.java
// public class GitChangelogIntegrationException extends Exception {
// 
//   private static final long serialVersionUID = 4249741847365803709L;
// 
//   public GitChangelogIntegrationException(String message, Throwable throwable) {
//     super(message, throwable);
//   }
// 
//   public GitChangelogIntegrationException(String message) {
//     super(message);
//   }
// }


// Path: src/test/java/se/bjurr/gitchangelog/internal/integrations/jira/JiraClientTest.java
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Map;
import java.util.Optional;
import org.junit.Test;
import se.bjurr.gitchangelog.api.exceptions.GitChangelogIntegrationException;

    final JiraClient client = this.createClient("https://server.com/jira");
    assertThat(client.getApi()) //
        .isEqualTo("https://server.com/jira");
  }

  private JiraClient createClient(final String api) {
    return new JiraClient(api) {

      @Override
      public JiraClient withBasicCredentials(final String username, final String password) {
        return null;
      }

      @Override
      public JiraClient withBearer(final String bearer) {
        return null;
      }

      @Override
      public JiraClient withTokenCredentials(final String token) {
        return null;
      }

      @Override
      public JiraClient withHeaders(final Map<String, String> headers) {
        return null;
      }

      @Override
      public Optional<JiraIssue> getIssue(final String matched)
          throws GitChangelogIntegrationException {