/*
* Copyright (c) 2014 CA. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* IN NO EVENT WILL CA BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS
* OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS MATERIAL,
* INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, GOODWILL,
* OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.
*
*/
package com.ca.apm.mongo.test;
import java.io.StringReader;
import javax.json.Json;
import javax.json.stream.JsonParser;
import org.testng.annotations.Test;
import org.testng.Assert;
import com.ca.apm.mongo.MetricFeedBundle;
import com.ca.apm.mongo.MetricPath;
public class MetricTest {
@Test
public void testMetricPathTranslation() {
MetricPath mp = new MetricPath("basePath");
mp.addElement("no|pipes:or|colons");
mp.addElement("element2");
mp.addMetric("mname");
Assert.assertEquals("basePath|no_pipes;or_colons|element2:mname",
mp.toString());
mp = new MetricPath("base");
mp.addElement("nothing;fancy");
mp.addElement("to_see_here");
mp.addMetric("mname");
Assert.assertEquals("base|nothing;fancy|to_see_here:mname",
mp.toString());
}
public void testJsonEscapes() {
MetricFeedBundle mfb = new MetricFeedBundle();
mfb.addMetric("StringEvent", "weird\\name",
"C:\\windows\\path\\foo.exe");
String json = mfb.toString();
try {
JsonParser p = Json.createParser(new StringReader(json));
while (p.hasNext()) {
p.next();
}
p.close();
} catch (Exception ex) {
Assert.fail("JSON parse exception", ex);
}
}
}