Merge "Add creation of inidividual test pages in Jenkins Job"
diff --git a/TestON/JenkinsFile/generateReleaseTestONWiki.groovy b/TestON/JenkinsFile/generateReleaseTestONWiki.groovy
index 44c6ac2..c8f06f3 100644
--- a/TestON/JenkinsFile/generateReleaseTestONWiki.groovy
+++ b/TestON/JenkinsFile/generateReleaseTestONWiki.groovy
@@ -36,9 +36,11 @@
 onos_v = params.version
 onos_bird = params.bird
 top_level_page_id = params.top_level_page_id.toInteger()
+FUNC_page_id = params.FUNC_page_id.toInteger()
+HA_page_id = params.HA_page_id.toInteger()
 SCPF_page_id = params.SCPF_page_id.toInteger()
 USECASE_page_id = params.USECASE_page_id.toInteger()
-SR_page_id = params.USECASE_page_id.toInteger()
+SR_page_id = params.SR_page_id.toInteger()
 onos_branch = "ONOS-" + onos_v
 
 SCPF_system_environment = [  "Server: Dual XeonE5-2670 v2 2.5GHz; 64GB DDR3; 512GB SSD",
@@ -52,6 +54,7 @@
 String[] pagesToPublish = []
 String[] pageNames = []
 parentID = -1
+pageIDProvided = false
 
 if ( top_level_page_id > -1 ){
     pageNames += onos_v + "-CHO"
@@ -72,11 +75,22 @@
     // pagesToPublish += createGeneralPageContents( "SRHA" )
 
     parentID = top_level_page_id
-} else {
-    pageNames += "ONOS-" + onos_v + " (" + onos_bird + ")"
-    pagesToPublish += createTopLevelPageContents()
 
-    parentID = wikiTestResultsPageID
+    pageIDProvided = true
+}
+
+if ( FUNC_page_id > -1 ){
+    pageNames += createIndividualPagesNames( "FUNC" )
+    pagesToPublish += createIndividualPagesContents( "FUNC" )
+    parentID = FUNC_page_id
+    pageIDProvided = true
+}
+
+if ( HA_page_id > -1 ){
+    pageNames += createIndividualPagesNames( "HA" )
+    pagesToPublish += createIndividualPagesContents( "HA" )
+    parentID = HA_page_id
+    pageIDProvided = true
 }
 
 if ( SCPF_page_id > -1 ){
@@ -108,22 +122,62 @@
     pagesToPublish += createMastershipFailoverLatPage()
 
     parentID = SCPF_page_id
+
+    pageIDProvided = true
 }
 
 if ( USECASE_page_id > -1 ){
     pageNames += onos_v + "-Segment Routing"
     pagesToPublish += createGeneralPageContents( "SR" )
+    pageNames += createIndividualPagesNames( "USECASE" )
+    pagesToPublish += createIndividualPagesContents( "USECASE" )
 
     parentID = USECASE_page_id
+
+    pageIDProvided = true
 }
 
-echoForDebug(pageNames, pagesToPublish)
+if ( SR_page_id > -1 ){
+    pageNames += createIndividualPagesNames( "SR" )
+    pagesToPublish += createIndividualPagesContents( "SR" )
+    parentID = SR_page_id
+    pageIDProvided = true
+}
+
+if ( !pageIDProvided ){
+    pageNames += "ONOS-" + onos_v + " (" + onos_bird + ")"
+    pagesToPublish += createTopLevelPageContents()
+
+    parentID = wikiTestResultsPageID
+}
+
+echoForDebug( pageNames, pagesToPublish )
 node ( label: runningNode ) {
     for ( i in 0..pagesToPublish.length - 1 ){
         publishToConfluence( pageNames[ i ], pagesToPublish[ i ], parentID )
     }
 }
 
+def createIndividualPagesNames( category ){
+    result = []
+    testsFromCategory = test_list.getTestsFromCategory( category )
+
+    for ( String test in testsFromCategory.keySet() ){
+        result += onos_v + "-" + testsFromCategory[ test ][ "wikiName" ]
+    }
+    return result
+}
+
+def createIndividualPagesContents( category ){
+    result = []
+    testsFromCategory = test_list.getTestsFromCategory( category )
+
+    for ( String test in testsFromCategory.keySet() ){
+        result += "<p>This test has not run on ONOS-" + onos_v + " yet. Please check again on a later date.</p>"
+    }
+    return result
+}
+
 def publishToConfluence( pageName, contents, parentID ){
     // publish HTML script to wiki confluence
     // isPostResult : string "true" "false"
@@ -158,11 +212,16 @@
 
 def pageTree( category, testsFromCategory ){
     pTree = "<ul>"
+    if ( category == "USECASE" ){
+        pTree += "<li><h3><a href=\"https://wiki.onosproject.org/display/ONOS/" onos_v + "-Segment+Routing" + "\">"
+        pTree += "2.2-Segment Routing" + "</a></h3></li>"
+    }
     for ( String test in testsFromCategory.keySet() ){
         testTitle = onos_v + "-" + testsFromCategory[ test ][ "wikiName" ]
         pTree += "<li><h3><a href=\"https://wiki.onosproject.org/display/ONOS/" + testTitle + "\">"
         pTree += testTitle + "</a></h3></li>"
     }
+
     pTree += "</ul>"
     return pTree
 }