package hudson.plugins.cmvc; import static org.junit.Assert.assertEquals; import hudson.plugins.cmvc.CmvcChangeLogSet.CmvcChangeLog; import hudson.plugins.cmvc.util.CmvcRawParser; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.InputStreamReader; import java.util.List; import org.apache.commons.io.IOUtils; import org.junit.Test; /** * Test for Multi-Release support. * * @author Dirceu * */ public class CmvcChangeLogSetTest { @Test public void testMultiReleases() throws Exception { ByteArrayInputStream bais = new ByteArrayInputStream(trackViewResult.getBytes("UTF-8")); InputStreamReader in = new InputStreamReader(bais, "UTF-8"); BufferedReader reader = new BufferedReader(in); CmvcChangeLogSet changeLogSet = new CmvcChangeLogSet(null); try { List<CmvcChangeLog> logs = CmvcRawParser.parseTrackViewReport(reader, changeLogSet); changeLogSet.setLogs(logs); } finally { IOUtils.closeQuietly(reader); } int i = 0; String[] releases = releaseName.split(","); for (String release : releases) { release = release.trim(); assertEquals(assertValues[i], changeLogSet.getTracksPerRelease(release).size()); i++; } } private static final String trackViewResult = "COMMON_200902|25289|u15|integrate||109/06/08 13:51:47||Matheus " + "Eduardo Ferrari|Development||109/06/11 17:11:25|f|[GASNAT] " + "Calcular Volume Corrigido.\n" + "GASNAT_200902|25318|u*|integrate||109/06/10 15:24:48||Dirceu " + "Silva|developer+||109/06/10 18:39:05|f|[BUILD] Utilizando " + "webserver da COMMON\n" + "BDEMQ_200902|25217|u*|integrate||109/06/02 13:47:50||Gabriel " + "Santos|developer+||109/06/08 08:06:53|f|[BUNDLE] Feature de " + "bundle\n" + "GASNAT_200902|25319|d|integrate||109/06/10 17:09:32||Heleno" + "|developer+||109/06/10 17:21:22|d|[GASNAT] Atributo dinamico " + "do componente error-message\n" + "BDEMQ_200902|25329|d|integrate||109/06/11 14:11:58||Matheus " + "Eduardo Ferrari|Development||109/06/11 17:15:54|d|[GASNAT] " + "Atualizar Medicao - falta de Link\n" + "GASNAT_200902|25338|d|integrate||109/06/11 15:56:01||Matheus " + "Eduardo Ferrari|Development||109/06/11 17:05:12|d|[GASNAT] " + "Atualizar Medicao - Erro de usabilidade\n" + "COMMON_200902|25332|d|integrate||109/06/11 09:44:33||Matheus " + "Eduardo Ferrari|Development||109/06/11 09:45:09|d|[GASNAT] " + "Atualizar Medicao - Botao errado\n" + "GASNAT_200902|25337|d|integrate||109/06/11 14:48:48||Matheus " + "Eduardo Ferrari|Development||109/06/11 15:13:43|d|[GASNAT] " + "Atualizar Medicao - Erro no Pdf\n" + "GASNAT_200902|25340|u*|integrate||109/06/11 08:50:59||Gabriel " + "Santos|developer+||109/06/11 17:01:42|f|[BUNDLE] Feature de " + "bundle\n" + "BDEMQ_200902|25229|u*|integrate||109/06/03 11:15:07||Thomas " + "Pietrafesa|developer+||109/06/11 17:25:46|f|[GASNAT] Atualizar " + "Status Medidor\n" + "BDEMQ_200902|25353|u*|integrate||109/06/11 17:32:15||Matheus " + "Eduardo Ferrari|Development||109/06/11 17:33:10|f|[GASNAT] " + "Code Style\n" + "COMMON_200902|25358|u*|integrate||109/06/11 19:03:48||Thomas " + "Pietrafesa|developer+||109/06/11 20:26:13|f|[GASNAT] Atualizar " + "Status Medidor"; private static final String releaseName = "GASNAT_200902 ,COMMON_200902, BDEMQ_200902,NS34_200902"; private static final int[] assertValues = {5,3,4,0}; }