package com.silverforge.elasticsearchrawclient.elasticFacade; import android.util.Log; import com.silverforge.elasticsearchrawclient.BuildConfig; import com.silverforge.elasticsearchrawclient.ElasticClientApp; import com.silverforge.elasticsearchrawclient.R; import com.silverforge.elasticsearchrawclient.testModel.SimpleCity; import com.silverforge.elasticsearchrawclient.utils.StreamUtils; import com.silverforge.webconnector.exceptions.SettingsIsNullException; import com.silverforge.webconnector.model.ConnectorSettings; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.annotation.Config; import java.net.URISyntaxException; import static org.junit.Assert.fail; @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, sdk = 21) public final class DatabaseCreator { private static final String TAG = DatabaseCreator.class.getName(); private ElasticRawClient client; public DatabaseCreator() { String elasticUrl = "https://mgj.east-us.azr.facetflow.io"; String elasticApiKey = "wihIilbbekmCeppKlgQXDwpSZEUekkk0"; ConnectorSettings settings = ConnectorSettings .builder() .baseUrl(elasticUrl) .userName(elasticApiKey) .build(); try { client = new ElasticClient(settings); } catch (URISyntaxException | SettingsIsNullException e) { e.printStackTrace(); Log.e(TAG, e.getMessage()); fail(e.getMessage()); } } @Test @Ignore("Execute manually once it is needed to rebuild the Elastic indices") public void prepare() { String createCityData = StreamUtils.getRawContent(ElasticClientApp.getAppContext(), R.raw.create_index_cities); String createTestCityData = StreamUtils.getRawContent(ElasticClientApp.getAppContext(), R.raw.create_index_testcities); client.removeIndices(new String[] {"cities", "testcities"}); client.createIndex("cities", createCityData); client.createIndex("testcities", createTestCityData); client.addDocument("cities", "city", "karcag", new SimpleCity("Karcag")); client.addDocument("cities", "city", "budapest", new SimpleCity("Budapest")); client.addDocument("testcities", "testcity", "customCity", new SimpleCity("customCityForTesting")); } }