From 1e5a6e041efef87d43a182b54d4b01f4ae87355c Mon Sep 17 00:00:00 2001 From: Rama-Huawei Date: Wed, 18 May 2022 10:54:09 +0530 Subject: CodeCoverage improvement for dcaegen2-platform-mod-genprocessor Issue-ID: DCAEGEN2-3169 Signed-off-by: Rama-Huawei Change-Id: Ia7d7cd62b0f07953edfeceebe0ab38398ed9bb85 --- .../main/java/org/onap/dcae/genprocessor/App.java | 16 +++--- .../main/java/org/onap/dcae/genprocessor/Comp.java | 3 +- .../java/org/onap/dcae/genprocessor/CompList.java | 1 + .../java/org/onap/dcae/genprocessor/CompSpec.java | 1 + .../org/onap/dcae/genprocessor/DCAEProcessor.java | 3 +- .../dcae/genprocessor/OnboardingAPIClient.java | 3 +- .../onap/dcae/genprocessor/ProcessorBuilder.java | 6 ++- .../java/org/onap/dcae/genprocessor/Utils.java | 3 +- .../src/test/java/sandbox/AppTest.java | 58 ++++++++++++++++++++++ 9 files changed, 80 insertions(+), 14 deletions(-) (limited to 'mod/genprocessor/src') diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/App.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/App.java index 9c50991..445291e 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/App.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/App.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2022 Huawei. 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. @@ -205,9 +206,7 @@ public class App { return true; } } - } catch (InterruptedException e) { - throw new RuntimeException("Error while creating jar", e); - } catch (IOException e) { + } catch (InterruptedException | IOException e) { throw new RuntimeException("Error while creating jar", e); } @@ -315,11 +314,11 @@ public class App { String sleepstr = System.getenv("GENPROC_SLEEP_SEC"); long sleepdur = (sleepstr != null)? 1000 * Long.parseLong(sleepstr): 0; do { - try { - main2(args); - } catch (Exception e) { - LOG.error(e.toString(), e); - } + try { + main2(args); + } catch (Exception e) { + LOG.error(e.toString(), e); + } Thread.sleep(sleepdur); } while (sleepdur > 0); return; @@ -401,3 +400,4 @@ public class App { } } } + diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Comp.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Comp.java index 69d8776..458f4df 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Comp.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Comp.java @@ -32,4 +32,5 @@ public class Comp { @JsonProperty("selfUrl") public String selfUrl; -} \ No newline at end of file +} + diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompList.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompList.java index fcf25b4..ae15ded 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompList.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompList.java @@ -68,3 +68,4 @@ public class CompList { public List components; } + diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompSpec.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompSpec.java index 34b7398..41e7aa5 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompSpec.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/CompSpec.java @@ -142,3 +142,4 @@ public class CompSpec { } } + diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/DCAEProcessor.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/DCAEProcessor.java index b920b90..72c0714 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/DCAEProcessor.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/DCAEProcessor.java @@ -89,4 +89,5 @@ public abstract class DCAEProcessor extends AbstractProcessor { return this.relationships; } -} \ No newline at end of file +} + diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/OnboardingAPIClient.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/OnboardingAPIClient.java index 12c3726..85032f7 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/OnboardingAPIClient.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/OnboardingAPIClient.java @@ -62,4 +62,5 @@ public class OnboardingAPIClient { } } -} \ No newline at end of file +} + diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/ProcessorBuilder.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/ProcessorBuilder.java index ca87bda..8d7be7d 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/ProcessorBuilder.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/ProcessorBuilder.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2022 Huawei. 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. @@ -112,7 +113,7 @@ public class ProcessorBuilder { ccFile.addAttribute(attr); } - private static void addMethod(CtClass target, String methodCode) { + public static void addMethod(CtClass target, String methodCode) { try { CtMethod method = CtMethod.make(methodCode, target); target.addMethod(method); @@ -192,4 +193,5 @@ public class ProcessorBuilder { addMethod(target, createCodeRelationships(compSpec)); } -} \ No newline at end of file +} + diff --git a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Utils.java b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Utils.java index 9a7c50a..8dbc062 100644 --- a/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Utils.java +++ b/mod/genprocessor/src/main/java/org/onap/dcae/genprocessor/Utils.java @@ -41,4 +41,5 @@ public class Utils { return String.format("%s-%s", compSpec.name, compSpec.version); } -} \ No newline at end of file +} + diff --git a/mod/genprocessor/src/test/java/sandbox/AppTest.java b/mod/genprocessor/src/test/java/sandbox/AppTest.java index d6a1ca3..a4d58bc 100644 --- a/mod/genprocessor/src/test/java/sandbox/AppTest.java +++ b/mod/genprocessor/src/test/java/sandbox/AppTest.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2022 Huawei. 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. @@ -20,6 +21,7 @@ package sandbox; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.File; import java.io.FileWriter; @@ -28,12 +30,16 @@ import java.io.Writer; import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLClassLoader; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; +import javassist.ClassPool; +import javassist.CtClass; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.processor.ProcessContext; import org.apache.nifi.processor.ProcessSession; @@ -50,10 +56,13 @@ import org.onap.dcae.genprocessor.CompSpec; import org.onap.dcae.genprocessor.DCAEProcessor; import org.onap.dcae.genprocessor.OnboardingAPIClient; import org.onap.dcae.genprocessor.Utils; +import org.onap.dcae.genprocessor.CompList; +import org.onap.dcae.genprocessor.ProcessorBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + /** * Unit test for simple App. */ @@ -78,6 +87,28 @@ public class AppTest { CompSpec cs = new CompSpec(); cs.unpackSelf(mx); assertEquals(Utils.formatNameForJar(cs), "SomeJar-2.0"); + try { + CompSpec.loadComponentSpec(new File("sandbox/temp.txt")); + } catch (RuntimeException e) { + // expected case + return; + } + fail("Exception is not thrown"); + } + + @Test + public void testGetNameForJavaClass() { + CompList.CompShort compShort = new CompList.CompShort(); + compShort.name = "test"; + compShort.getNameForJavaClass(); + compShort.componentUrl = "6:invalidURI"; + try { + compShort.getComponentUrlAsURI(); + } catch (RuntimeException e) { + // expected case + return; + } + fail("Exception is not thrwon"); } @@ -174,5 +205,32 @@ public class AppTest { App.main(new String[] { "load" }); /* gen case */ App.main(new String[] { "gen" }); + + URL[] jarURLs = new URL[1]; + try { + App.loadFromJars(jarURLs); + } catch (NullPointerException e) { + // expected case + return; + } + fail("Exception is not thrown"); + } + + @Test + public void testAddMethod() { + try { + ClassPool pool = ClassPool.getDefault(); + CtClass base = pool.get(DCAEProcessor.class.getName()); + + CtClass cc = pool.makeClass(String.format("org.onap.dcae.%s", DCAEProcessor.class)); + cc.setSuperclass(base); + + ProcessorBuilder.addMethod(cc, "test"); + } catch (Exception e) { + // expected case + return; + } + fail("Exception is not thrown"); } } + -- cgit 1.2.3-korg