package org.molgenis.script; import org.molgenis.file.FileStore; import org.springframework.util.FileCopyUtils; import org.testng.annotations.Test; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.Collections; import java.util.Map; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.testng.Assert.*; public class ScriptTest { @Test public void generateScript() throws IOException { FileStore fileStore = new FileStore(System.getProperty("java.io.tmpdir")); Map<String, Object> parameterValues = Collections.singletonMap("name", "Piet"); Script script = mock(Script.class); when(script.getContent()).thenReturn("Hey ${name}"); when(script.generateScript(fileStore, "txt", parameterValues)).thenCallRealMethod(); File f = script.generateScript(fileStore, "txt", parameterValues); assertNotNull(f); assertTrue(f.exists()); assertTrue(f.getPath().endsWith(".txt")); String s = FileCopyUtils.copyToString(new InputStreamReader(new FileInputStream(f))); assertEquals("Hey Piet", s); f.delete(); } }