/** * Copyright (c) 2013-2016, The SeedStack authors <http://seedstack.org> * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.seedstack.seed.core; import org.assertj.core.api.Assertions; import org.junit.Rule; import org.junit.Test; import org.seedstack.seed.DataManager; import org.seedstack.seed.core.fixtures.TestDataImporter3; import org.seedstack.seed.core.fixtures.data.TestDataImporter; import org.seedstack.seed.core.fixtures.data.TestDataImporter2; import org.seedstack.seed.core.rules.SeedITRule; import org.seedstack.shed.ClassLoaders; import javax.inject.Inject; import java.io.ByteArrayOutputStream; import static org.assertj.core.api.Assertions.assertThat; public class DataManagerIT { @Rule public SeedITRule rule = new SeedITRule(this); @Inject DataManager dataManager; @Test public void data_manager_is_injected() { Assertions.assertThat(dataManager).isNotNull(); } @Test public void data_are_exported_correctly() { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteArrayOutputStream2 = new ByteArrayOutputStream(); dataManager.exportData(byteArrayOutputStream, "group1"); dataManager.exportData(byteArrayOutputStream2); assertThat(byteArrayOutputStream.toByteArray()).isEqualTo(byteArrayOutputStream2.toByteArray()); } @Test public void data_are_imported_correctly() throws Exception { dataManager.importData(ClassLoaders.findMostCompleteClassLoader(DataManagerIT.class).getResourceAsStream("test_data.json"), null, null, true); assertThat(TestDataImporter.getData().size()).isEqualTo(2); assertThat(TestDataImporter.getData().get(0).getFirstName()).isEqualTo("toto"); assertThat(TestDataImporter.getData().get(0).getLastName()).isEqualTo("titi"); assertThat(TestDataImporter.getData().get(1).getFirstName()).isEqualTo("machin"); assertThat(TestDataImporter.getData().get(1).getLastName()).isEqualTo("truc"); assertThat(TestDataImporter2.getData().size()).isEqualTo(0); // // assertThat(TestDataImporter2.getData().get(0).getFirstName()).isEqualTo("toto2"); // assertThat(TestDataImporter2.getData().get(0).getLastName()).isEqualTo("titi2"); } @Test public void initialization_data_is_imported_upon_startup() throws Exception { assertThat(TestDataImporter3.getData().size()).isEqualTo(1); assertThat(TestDataImporter3.getData().get(0).getFirstName()).isEqualTo("toto2"); assertThat(TestDataImporter3.getData().get(0).getLastName()).isEqualTo("titi2"); } }