Interface DataClientApi

All Known Implementing Classes:
DataClient

public interface DataClientApi
Abstract interface for DataClient.

This type can be used by applications that want to mock DataEngine in unit tests by passing parameters of type DataClientApi instead of accessing the DataClient singleton directly everywhere. For example with Mockito:


 // public static void logicToTest(DataClientApi dataClient) { ... }
 //
 // public static void main(String[] args) {
 //   ActorSystem actorSystem = ActorSystem.create();
 //   // The application instantiates the real DataClient.
 //   DataClientApi dataClient = DataClient.get(actorSystem);
 //   logicToTest(dataClient);
 // }
 //
 // // Tests generate a mock or a stub from the interface.
 // @Mock
 // private DataClientApi dataClientMock;
 //
 // @Test
 // public void test() {
 //   logicToTest(dataClientMock);
 // }
 
  • Method Details

    • adminApi

      AdminApi adminApi(Settings settings)
      Create a catalog admin API object

      Parameters:
      settings - setting to be used while using admin API
      Returns:
      catalog admin API
    • adminApi

      AdminApi adminApi()
      Create a catalog admin API object

      Returns:
      catalog admin API
    • defaultSettings

      Settings defaultSettings()
      Default setting which will be used if no overrides is provided
    • getClientExecutionContext

      ClientExecutionContext getClientExecutionContext()
      Get client execution context (internal for testing)
    • invalidateCache

      void invalidateCache(HRN hrn)
      Invalidate internal caches for catalog

      Parameters:
      hrn - catalog identifier
    • publishApi

      PublishApi publishApi(HRN hrn)
      Create a catalog publish API object

      Parameters:
      hrn - catalog identifier
      Returns:
      catalog publish API if catalog exists, return error if catalog does not exists
    • publishApi

      PublishApi publishApi(HRN hrn, Settings settings)
      Create a catalog publish API object

      Parameters:
      hrn - catalog identifier
      settings - setting to be used while using publish API
      Returns:
      catalog publish API if catalog exists, return error if catalog does not exists
    • queryApi

      QueryApi queryApi(HRN hrn)
      Create a catalog query API object

      Parameters:
      hrn - catalog identifier
      Returns:
      catalog query API if catalog exists, return error if catalog does not exists
    • queryApi

      QueryApi queryApi(HRN hrn, Settings settings)
      Create a catalog query API object

      Parameters:
      hrn - catalog identifier
      settings - setting to be used while using query API
      Returns:
      catalog query API if catalog exists, return error if catalog does not exists