
/*******************************************************************************
 * This file is part of OpenNMS(R).
 *
 * Copyright (C) 2010-2011 The OpenNMS Group, Inc.
 * OpenNMS(R) is Copyright (C) 1999-2011 The OpenNMS Group, Inc.
 *
 * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
 *
 * OpenNMS(R) is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published
 * by the Free Software Foundation, either version 3 of the License,
 * or (at your option) any later version.
 *
 * OpenNMS(R) is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with OpenNMS(R).  If not, see:
 *      http://www.gnu.org/licenses/
 *
 * For more information contact:
 *     OpenNMS(R) Licensing <license@opennms.org>
 *     http://www.opennms.org/
 *     http://www.opennms.com/
 *******************************************************************************/

package org.opennms.web.svclayer.support;

import static org.junit.Assert.*;

import org.junit.Test;

/**
 * @author <a href="mailto:seth@opennms.org">Seth</a>
 */
public class DefaultGraphResultsServiceTest {

    /**
     * Test the parseResourceId() function, mainly to make sure that the 
     * issue in bug 3366 can be tested some.
     */
    @Test
    public void testParseResourceId() {
        String[] values = DefaultGraphResultsService.parseResourceId("node[1].responseTime[127.0.0.1]");
        assertEquals("node[1]", values[0]);
        assertEquals("responseTime", values[1]);
        assertEquals("127.0.0.1", values[2]);
    }

    /**
     * Ensure that invalid resource IDs return a null string array.
     */
    @Test
    public void testUnparsableeResourceId() {
        String[] values = DefaultGraphResultsService.parseResourceId("node[1.responseTime[127.0.0.1]");
        assertNull(values);
    }
}

@@ -1254,17 +1254,71 @@
 .Assert.
-*
+assertEquals;%0Aimport static org.junit.Assert.assertNull
 ;%0A%0Aimpor
@@ -1630,32 +1630,38 @@
 eId() %7B%0A        
+final 
 String%5B%5D values 
@@ -2035,16 +2035,22 @@
         
+final 
 String%5B%5D
@@ -2170,11 +2170,471 @@
 );%0A    %7D
+%0A%0A    /**%0A     * Ensure that invalid resource IDs return a null string array.%0A     */%0A    @Test%0A    public void testParseForeignId() %7B%0A        final String%5B%5D values = DefaultGraphResultsService.parseResourceId(%22nodeSource%5BforeignSource:foreignId%5D.nodeSnmp%5B%5D%22);%0A        assertEquals(3, values.length);%0A        assertEquals(%22nodeSource%5BforeignSource:foreignId%5D%22, values%5B0%5D);%0A        assertEquals(%22nodeSnmp%22, values%5B1%5D);%0A        assertEquals(%22%22, values%5B2%5D);%0A    %7D
 %0A%7D%0A

test nodeSource parsing