package ru.ibs.socrates.confexporter.config;

import org.mockito.Mockito;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import ru.ibs.socrates.confexporter.external.access.api.AccessApiClient;
import ru.ibs.socrates.confexporter.external.chanker.client.ChankerApiClient;
import ru.ibs.socrates.confexporter.external.pageparser.client.PageparserApiClient;
import ru.ibs.socrates.confexporter.external.sdtllmraggateconf.rest.client.SdtLlmRagGateConfContentApiClient;
import ru.ibs.socrates.confexporter.external.sdtllmraggateconf.rest.client.SdtLlmRagGateConfSourceApiClient;
import ru.ibs.socrates.confexporter.external.sdtllmraggateconf.rest.client.SdtLlmRagGateConfTextApiClient;
import ru.ibs.socrates.confexporter.external.xmlparser.client.XmlparserApiClient;


@Configuration
@Profile("disable-feign-client")
public class FiegnClientMockConfig {

  @Bean
  ChankerApiClient mockChankerApiClient() {
    return Mockito.mock(ChankerApiClient.class);
  }
  
  @Bean
  AccessApiClient mockAccessApiClient() {
    return Mockito.mock(AccessApiClient.class);
  }

  @Bean
  SdtLlmRagGateConfSourceApiClient mockSdtLlmRagGateConfSourceApiClient() {
    return Mockito.mock(SdtLlmRagGateConfSourceApiClient.class);
  }
  
  @Bean
  SdtLlmRagGateConfContentApiClient mockSdtLlmRagGateConfContentApiClient() {
    return Mockito.mock(SdtLlmRagGateConfContentApiClient.class);
  }
  
  @Bean
  SdtLlmRagGateConfTextApiClient mockSdtLlmRagGateConfTextApiClient() {
    return Mockito.mock(SdtLlmRagGateConfTextApiClient.class);
  }
  
  @Bean
  PageparserApiClient mockPageparserApiClient() {
    return Mockito.mock(PageparserApiClient.class);
  }

  @Bean
  XmlparserApiClient mockXmlparserApiClient() {
    return Mockito.mock(XmlparserApiClient.class);
  }
}
