From 09b2c4e5dfb59a639005502819dea57780d59199 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Wed, 13 Jul 2011 11:01:48 +0200
Subject: Fixed (uncommented) test cases.

---
 lib/snmp/test/snmp_manager_test.erl | 176 +++++++++++++++++++++++++++++++++---
 1 file changed, 164 insertions(+), 12 deletions(-)

(limited to 'lib/snmp')

diff --git a/lib/snmp/test/snmp_manager_test.erl b/lib/snmp/test/snmp_manager_test.erl
index e99b02b001..d18f20d359 100644
--- a/lib/snmp/test/snmp_manager_test.erl
+++ b/lib/snmp/test/snmp_manager_test.erl
@@ -61,6 +61,7 @@
 	
 	 register_agent1/1,
 	 register_agent2/1,
+	 register_agent3/1,
 
 	 info/1,
 	 
@@ -382,14 +383,14 @@ end_per_testcase2(Case, Config) ->
 
 all() -> 
     [
-     %% {group, start_and_stop_tests}, 
-     %% {group, misc_tests}, 
-     %% {group, user_tests}, 
-     %% {group, agent_tests}, 
-     %% {group, request_tests}, 
-     {group, event_tests}%% , 
-     %% discovery, 
-     %% {group, tickets}
+     {group, start_and_stop_tests}, 
+     {group, misc_tests}, 
+     {group, user_tests}, 
+     {group, agent_tests}, 
+     {group, request_tests}, 
+     {group, event_tests}, 
+     discovery, 
+     {group, tickets}
     ].
 
 groups() -> 
@@ -417,7 +418,8 @@ groups() ->
      {agent_tests, [], 
       [
        register_agent1, 
-       register_agent2
+       register_agent2, 
+       register_agent3
       ]
      },
      {request_tests, [],
@@ -1294,7 +1296,7 @@ register_agent2(Config) when is_list(Config) ->
 
     p("manager info: ~p~n", [mgr_info(ManagerNode)]),
 
-    p("register user(s) calvin & hobbe"),
+    p("register user(s) user_alfa & user_beta"),
     ?line ok = mgr_register_user(ManagerNode, user_alfa, snmpm_user_default, []),
     ?line ok = mgr_register_user(ManagerNode, user_beta, snmpm_user_default, []),
     p("manager info: ~p~n", [mgr_info(ManagerNode)]),
@@ -1349,7 +1351,7 @@ register_agent2(Config) when is_list(Config) ->
     end,
 
     p("manager info: ~p~n", [mgr_info(ManagerNode)]),
-    
+
     p("unregister user user_alfa"),
     ?line ok = mgr_unregister_user(ManagerNode, user_alfa),
 
@@ -1378,7 +1380,157 @@ register_agent2(Config) when is_list(Config) ->
 
     p("manager info: ~p~n", [mgr_info(ManagerNode)]),
 
-    p("unregister user hobbe"),
+    p("unregister user user_beta"),
+    ?line ok = mgr_unregister_user(ManagerNode, user_beta),
+
+    p("manager info: ~p~n", [mgr_info(ManagerNode)]),
+
+    ?SLEEP(1000),
+
+    p("stop snmp application (with only manager)"),
+    ?line ok = stop_snmp(ManagerNode),
+
+    ?SLEEP(1000),
+
+    stop_node(ManagerNode),
+
+    ?SLEEP(1000),
+
+    p("end"),
+    ok.
+
+
+%%======================================================================
+
+register_agent3(doc) -> 
+    ["Test registration of agents with the NEW interface functions "
+     "and specifying transport domain"];
+register_agent3(suite) -> 
+    [];
+register_agent3(Config) when is_list(Config) ->
+    process_flag(trap_exit, true),
+    put(tname, ra3),
+    p("starting with Config: ~p~n", [Config]),
+
+    ManagerNode = start_manager_node(), 
+
+    ConfDir = ?config(manager_conf_dir, Config),
+    DbDir   = ?config(manager_db_dir, Config),
+    LocalHost = snmp_test_lib:localhost(), 
+
+
+    write_manager_conf(ConfDir),
+
+    Opts = [{server,     [{verbosity, trace}]},
+	    {net_if,     [{verbosity, trace}]},
+	    {note_store, [{verbosity, trace}]},
+	    {config, [{verbosity, trace}, {dir, ConfDir}, {db_dir, DbDir}]}],
+
+
+    p("load snmp application"),
+    ?line ok = load_snmp(ManagerNode),
+
+    p("set manager env for the snmp application"),
+    ?line ok = set_mgr_env(ManagerNode, Opts),
+
+    p("starting snmp application (with only manager)"),
+    ?line ok = start_snmp(ManagerNode),
+
+    p("started"),
+
+    ?SLEEP(1000),
+
+    p("manager info: ~p~n", [mgr_info(ManagerNode)]),
+
+    p("register user(s) user_alfa & user_beta"),
+    ?line ok = mgr_register_user(ManagerNode, user_alfa, snmpm_user_default, []),
+    ?line ok = mgr_register_user(ManagerNode, user_beta, snmpm_user_default, []),
+    p("manager info: ~p~n", [mgr_info(ManagerNode)]),
+
+    p("register agent(s)"),
+    TargetName1 = "agent2", 
+    ?line ok = mgr_register_agent(ManagerNode, user_alfa, TargetName1, 
+				  [{tdomain,   transportDomainUdpIpv4},
+				   {address,   LocalHost},
+				   {port,      5001},
+				   {engine_id, "agentEngineId-1"}]),
+    TargetName2 = "agent3", 
+    ?line ok = mgr_register_agent(ManagerNode, user_alfa, TargetName2,
+				  [{tdomain,   transportDomainUdpIpv6},
+				   {address,   LocalHost},
+				   {port,      5002},
+				   {engine_id, "agentEngineId-2"}]),
+    TargetName3 = "agent4", 
+    ?line {error, {unsupported_domain, _} = Reason4} = 
+	mgr_register_agent(ManagerNode, user_beta, TargetName3,
+			   [{tdomain,   transportDomainTcpIpv4},
+			    {address,   LocalHost},
+			    {port,      5003},
+			    {engine_id, "agentEngineId-3"}]),
+    p("Expected registration failure: ~p", [Reason4]),
+    TargetName4 = "agent5", 
+    ?line {error, {unknown_domain, _} = Reason5} = 
+	mgr_register_agent(ManagerNode, user_beta, TargetName4,
+			   [{tdomain,   transportDomainUdpIpv4_bad},
+			    {address,   LocalHost},
+			    {port,      5004},
+			    {engine_id, "agentEngineId-4"}]),
+    p("Expected registration failure: ~p", [Reason5]),
+
+    p("verify all agent(s): expect 2"),
+    case mgr_which_agents(ManagerNode) of
+	Agents1 when length(Agents1) =:= 2 ->
+	    p("all agents: ~p~n", [Agents1]),
+	    ok;
+	Agents1 ->
+	    ?FAIL({agent_registration_failure, Agents1})
+    end,
+
+    p("verify user_alfa agent(s)"),
+    case mgr_which_agents(ManagerNode, user_alfa) of
+	Agents2 when length(Agents2) =:= 2 ->
+	    p("calvin agents: ~p~n", [Agents2]),
+	    ok;
+	Agents2 ->
+	    ?FAIL({agent_registration_failure, Agents2})
+    end,
+
+    p("verify user_beta agent(s)"),
+    case mgr_which_agents(ManagerNode, user_beta) of
+	Agents3 when length(Agents3) =:= 0 ->
+	    p("hobbe agents: ~p~n", [Agents3]),
+	    ok;
+	Agents3 ->
+	    ?FAIL({agent_registration_failure, Agents3})
+    end,
+
+    p("manager info: ~p~n", [mgr_info(ManagerNode)]),
+
+    p("unregister user user_alfa"),
+    ?line ok = mgr_unregister_user(ManagerNode, user_alfa),
+
+    p("verify all agent(s): expect 0"),
+    case mgr_which_agents(ManagerNode) of
+	Agents4 when length(Agents4) =:= 0 ->
+	    p("all agents: ~p~n", [Agents4]),
+	    ok;
+	Agents4 ->
+	    ?FAIL({agent_unregistration_failure, Agents4})
+    end,
+    p("manager info: ~p~n", [mgr_info(ManagerNode)]),
+
+    p("verify all agent(s): expect 0"),
+    case mgr_which_agents(ManagerNode) of
+	[] ->
+	    ok;
+	Agents5 ->
+	    p("all agents: ~p~n", [Agents5]),
+	    ?FAIL({agent_unregistration_failure, Agents5})
+    end,
+
+    p("manager info: ~p~n", [mgr_info(ManagerNode)]),
+
+    p("unregister user user_beta"),
     ?line ok = mgr_unregister_user(ManagerNode, user_beta),
 
     p("manager info: ~p~n", [mgr_info(ManagerNode)]),
-- 
cgit v1.2.3