public void setUp() throws Exception { sieveRepository = createSieveRepository(); }
@Override public void addActiveSieveScriptFromFile(String userName, String scriptName, String scriptPath) throws SieveRepositoryException { try (InputStream scriptFileAsStream = new FileInputStream(scriptPath)) { addActiveSieveScript(userName, scriptName, IOUtils.toString(scriptFileAsStream, StandardCharsets.UTF_8)); } catch (IOException e) { LOGGER.error("Error while reading sieve script from file {}", scriptPath, e); } } }
@Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); sieveRepositoryManagement = new SieveRepositoryManagement(); sieveRepositoryManagement.setSieveRepository(sieveRepository); }
@Override @Before public void setUp() throws Exception { super.setUp(); }
@Test public void getScriptShouldReturnCorrectContent() throws Exception { sieveRepository.putScript(USER, SCRIPT_NAME, SCRIPT_CONTENT); assertThat(getScriptContent(sieveRepository.getScript(USER, SCRIPT_NAME))).isEqualTo(SCRIPT_CONTENT); }
@Test public void importSieveScriptFileToRepositoryShouldStoreContentAndActivateScript() throws Exception { String userName = "user@domain"; String script = "user_script"; URL sieveResource = ClassLoader.getSystemResource("sieve/my_sieve"); User user = User.fromUsername(userName); ScriptName scriptName = new ScriptName(script); String sieveContent = IOUtils.toString(sieveResource, StandardCharsets.UTF_8); ScriptContent scriptContent = new ScriptContent(sieveContent); sieveRepositoryManagement.addActiveSieveScriptFromFile(userName, script, sieveResource.getFile()); verify(sieveRepository, times(1)).putScript(user, scriptName, scriptContent); verify(sieveRepository, times(1)).setActive(user, scriptName); }
@Override @Before public void setUp() throws Exception { this.fileSystem = new FileSystem() { @Override public File getBasedir() throws FileNotFoundException { return new File(System.getProperty("java.io.tmpdir")); } @Override public InputStream getResource(String url) throws IOException { return new FileInputStream(getFile(url)); } @Override public File getFile(String fileURL) throws FileNotFoundException { return new File(getBasedir(), fileURL.substring(FileSystem.FILE_PROTOCOL.length())); } }; super.setUp(); }
@Test public void renameScriptShouldWork() throws Exception { sieveRepository.putScript(USER, SCRIPT_NAME, SCRIPT_CONTENT); sieveRepository.renameScript(USER, SCRIPT_NAME, OTHER_SCRIPT_NAME); assertThat(getScriptContent(sieveRepository.getScript(USER, OTHER_SCRIPT_NAME))).isEqualTo(SCRIPT_CONTENT); }
@Test public void importSieveScriptFileToRepositoryShouldNotImportFileWithWrongPathToRepistory() throws Exception { String userName = "user@domain"; String script = "user_script"; URL sieveResource = ClassLoader.getSystemResource("sieve/my_sieve"); User user = User.fromUsername(userName); ScriptName scriptName = new ScriptName(script); String sieveContent = IOUtils.toString(sieveResource, StandardCharsets.UTF_8); ScriptContent scriptContent = new ScriptContent(sieveContent); sieveRepositoryManagement.addActiveSieveScriptFromFile(userName, script, "wrong_path/" + sieveResource.getFile()); verify(sieveRepository, times(0)).putScript(user, scriptName, scriptContent); verify(sieveRepository, times(0)).setActive(user, scriptName); } }
@Test public void setActiveScriptShouldWork() throws Exception { sieveRepository.putScript(USER, SCRIPT_NAME, SCRIPT_CONTENT); sieveRepository.setActive(USER, SCRIPT_NAME); assertThat(getScriptContent(sieveRepository.getActive(USER))).isEqualTo(SCRIPT_CONTENT); }
@Test public void renameScriptShouldPropagateActiveScript() throws Exception { sieveRepository.putScript(USER, SCRIPT_NAME, SCRIPT_CONTENT); sieveRepository.setActive(USER, SCRIPT_NAME); sieveRepository.renameScript(USER, SCRIPT_NAME, OTHER_SCRIPT_NAME); assertThat(getScriptContent(sieveRepository.getActive(USER))).isEqualTo(SCRIPT_CONTENT); }
@Test public void setActiveSwitchScriptShouldWork() throws Exception { sieveRepository.putScript(USER, SCRIPT_NAME, SCRIPT_CONTENT); sieveRepository.setActive(USER, SCRIPT_NAME); sieveRepository.putScript(USER, OTHER_SCRIPT_NAME, OTHER_SCRIPT_CONTENT); sieveRepository.setActive(USER, OTHER_SCRIPT_NAME); assertThat(getScriptContent(sieveRepository.getActive(USER))).isEqualTo(OTHER_SCRIPT_CONTENT); }