Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Below is the SAMPstartTemplate_1node.params file:

 

 

The <testcases> tag defines the order in which the test cases in the .py file are executed. <PARAMS> and <testcases> are mandatory, case sensitive tags.

Topo File:

Below is the SAMPstartTemplate_1node.topo file:

 

 

Code Block
languagexml
<PARAMS>
    <!--
        CASE0: pull onos code - this case should be skipped on Jenkins-driven prod test
    -->
    <!--
        CASE1: setup and clean test env
    -->
    <!--
        CASE2: get onos warnings, errors from log
    -->
    <!--
        CASE10: start a 1-node ONOS
    -->
    <!--
        CASE11: Start Mininet and assign controllers
    -->
    <!--
        CASE12: Sample case of using onos cli
    -->
    <!--
        CASE22: Sample case of using onos rest
    -->
    <!--
        CASE32: Configure fwd app
    -->

    <testcases>0,1,10,11,12,22,2,32</testcases>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <CASE0>
    </CASE0>

    <CASE1>
        <NodeList>OC1</NodeList>
        <SleepTimers>
            <onosStartup>60</onosStartup>
            <onosCfg>5</onosCfg>
            <mnStartup>15</mnStartup>
            <mnCfg>10</mnCfg>
        </SleepTimers>
    </CASE1>

    <CASE10>
        <numNodes>1</numNodes>
        <Apps>
            org.onosproject.openflow,org.onosproject.fwd
        </Apps>
        <ONOS_Configuration>
            <org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator>
                <useFlowObjectives>true</useFlowObjectives>
                <defaultFlowObjectiveCompiler>org.onosproject.net.intent.impl.compiler.LinkCollectionIntentObjectiveCompiler</defaultFlowObjectiveCompiler>
            </org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator>
        </ONOS_Configuration>
    </CASE10>

    <CASE11>
        <topo> mn --topo tree,3,3 </topo>
    </CASE11>
    <CASE12>
    </CASE12>
    <CASE22>
    </CASE22>
    <CASE32>
    </CASE32>
</PARAMS>

 

The <testcases> tag defines the order in which the test cases in the .py file are executed. <PARAMS> and <testcases> are mandatory, case sensitive tags.

Topo File:

Below is the SAMPstartTemplate_1node.topo file:

 

 

code
Code Block
languagexml
<TOPOLOGY>
    <COMPONENT>
    <!--
        This is a list of all components and their handles in the test setup.
        Even with some handles not used in test cases, we want to define
        all onos cells here, for cases to set up onos cluster.
    -->
        <ONOScell>
            <host>localhost</host>  # ONOS "bench" machine
            <user>sdn</user>
            <password>rocks</password>
            <type>OnosClusterDriver</type>
            <connect_order>1</connect_order>
            <COMPONENTS>
                <cluster_name></cluster_name>  # Used as a prefix for cluster components. Defaults to 'ONOS'
                <diff_clihost></diff_clihost> # if it has different host other than localhost for CLI. True or empty. OC# will be used if True.
                <karaf_username></karaf_username>
                <karaf_password></karaf_password>
                <web_user></web_user>
                <web_pass></web_pass>
                <rest_port></rest_port>
                <prompt></prompt>
                <onos_home></onos_home>  # defines where onos home is
                <nodes> 1 </nodes>  # number of nodes in the cluster
            </COMPONENTS>
        </ONOScell>

        <Mininet1>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetCliDriver</type>
            <connect_order>2</connect_order>
            <COMPONENTS>
                <home>~/mininet/custom/</home>
                <prompt></prompt>
            </COMPONENTS>
        </Mininet1>

    </COMPONENT>
</TOPOLOGY>

...

Test case results should be asserted at the end of the case using the TestON utilities class.  There are four types of assertions: "equals", "matches", "greater", and "lesser". Below is an example of "equals" assertion in case 10:

Code Block
languagepy
titleSAMPstartTemplate_1node.py snippet


main.step( "Start ONOS cluster with basic (drivers) app.")
stepResult = main.ONOSbench.startBasicONOS( nodeList=main.Cluster.getIps(),
                                            opSleep=200,
                                            onosUser=main.ONOScell.karafUser )
utilities.assert_equals( expect=main.TRUE,
                         actual=stepResult,
                         onpass="Successfully started basic ONOS cluster ",
                         onfail="Failed to start basic ONOS Cluster " )

...