Author: sandervanderburg
Date: Fri Oct 29 23:45:47 2010
New Revision: 24537
URL: https://svn.nixos.org/websvn/nix/?rev=24537&sc=1
Log:
Added an ejabberd-dump testcase
Added:
disnix/disnix-activation-scripts/trunk/tests/deployment/ejabberd-dump.nix
disnix/disnix-activation-scripts/trunk/tests/services/ejabberd-dump/
disnix/disnix-activation-scripts/trunk/tests/services/ejabberd-dump/ejabberdcfg.dump
Modified:
disnix/disnix-activation-scripts/trunk/release.nix
Modified: disnix/disnix-activation-scripts/trunk/release.nix
==============================================================================
--- disnix/disnix-activation-scripts/trunk/release.nix Fri Oct 29 19:54:39
2010 (r24536)
+++ disnix/disnix-activation-scripts/trunk/release.nix Fri Oct 29 23:45:47
2010 (r24537)
@@ -34,6 +34,11 @@
releaseTools.nixBuild {
name = "disnix-activation-scripts";
src = tarball;
+
+ preConfigure =
+ ''
+ ${stdenv.lib.optionalString enableEjabberdDump "export
PATH=$PATH:${ejabberd}/sbin"}
+ '';
configureFlags =
''
@@ -85,6 +90,10 @@
process = import ./tests/deployment/process.nix {
inherit stdenv;
};
+
+ ejabberd_dump = import ./tests/deployment/ejabberd-dump.nix {
+ inherit stdenv;
+ };
in
with import "${nixos}/lib/testing.nix" { inherit nixpkgs; system =
"x86_64-linux"; services = null; };
@@ -167,7 +176,7 @@
}
$machine->mustSucceed("mysqlUsername=root
mysqlPassword=verysecret
${disnix_activation_scripts}/libexec/disnix/activation-scripts/mysql-database
deactivate ${testdb}");
-
+
# Test Tomcat web application script. Deploys a tomcat web
# application, verifies whether it can be accessed and then
# undeploys it again and checks whether it becomes inaccessible.
@@ -180,6 +189,17 @@
$machine->mustSucceed("${disnix_activation_scripts}/libexec/disnix/activation-scripts/tomcat-webapplication
deactivate ${tomcat_webapplication}");
$machine->mustSucceed("while [ -e
/var/tomcat/webapps/tomcat-webapplication ]; do echo 'Waiting to undeploy' >&2;
sleep 1; done");
$machine->mustFail("curl --fail
http://localhost:8080/tomcat-webapplication");
+
+ # Test ejabberd dump activation script. First we check if we can
+ # login with an admin account (which is not the case), then
+ # we activate the dump and we check the admin account again.
+ # Now we should be able to login. This test should succeed.
+
+ $machine->waitForJob("ejabberd");
+ $machine->mustFail("sleep 3; curl --fail --user admin:admin
http://localhost:5280/admin"); # !!! We need to wait for a while even though
ejabberd is running
+
$machine->mustSucceed("${disnix_activation_scripts}/libexec/disnix/activation-scripts/ejabberd-dump
activate ${ejabberd_dump}");
+ $machine->mustSucceed("curl --fail --user admin:admin
http://localhost:5280/admin");
+
$machine->mustSucceed("${disnix_activation_scripts}/libexec/disnix/activation-scripts/ejabberd-dump
deactivate ${ejabberd_dump}");
'';
};
};
Added: disnix/disnix-activation-scripts/trunk/tests/deployment/ejabberd-dump.nix
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ disnix/disnix-activation-scripts/trunk/tests/deployment/ejabberd-dump.nix
Fri Oct 29 23:45:47 2010 (r24537)
@@ -0,0 +1,10 @@
+{stdenv}:
+
+stdenv.mkDerivation {
+ name = "ejabberd-dump";
+ src = ../services/ejabberd-dump;
+ buildCommand = ''
+ ensureDir $out/ejabberd-dump
+ cp $src/* $out/ejabberd-dump
+ '';
+}
Added:
disnix/disnix-activation-scripts/trunk/tests/services/ejabberd-dump/ejabberdcfg.dump
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++
disnix/disnix-activation-scripts/trunk/tests/services/ejabberd-dump/ejabberdcfg.dump
Fri Oct 29 23:45:47 2010 (r24537)
@@ -0,0 +1,154 @@
+{tables,[{local_config,[{record_name,local_config},{attributes,[key,value]}]},
+ {caps_features,[{record_name,caps_features},
+ {attributes,[node_pair,features]}]},
+ {config,[{record_name,config},{attributes,[key,value]}]},
+ {pubsub_subscription,[{record_name,pubsub_subscription},
+ {attributes,[subid,options]}]},
+ {privacy,[{record_name,privacy},{attributes,[us,default,lists]}]},
+ {passwd,[{record_name,passwd},{attributes,[us,password]}]},
+ {irc_custom,[{record_name,irc_custom},{attributes,[us_host,data]}]},
+ {roster,[{record_name,roster},
+ {attributes,[usj,us,jid,name,subscription,ask,groups,
+ askmessage,xs]}]},
+ {last_activity,[{record_name,last_activity},
+ {attributes,[us,timestamp,status]}]},
+ {sr_user,[{record_name,sr_user},{attributes,[us,group_host]}]},
+ {roster_version,[{record_name,roster_version},
+ {attributes,[us,version]}]},
+ {offline_msg,[{record_name,offline_msg},
+ {attributes,[us,timestamp,expire,from,to,packet]}]},
+ {motd,[{record_name,motd},{attributes,[server,packet]}]},
+ {acl,[{record_name,acl},{attributes,[aclname,aclspec]}]},
+ {vcard,[{record_name,vcard},{attributes,[us,vcard]}]},
+ {pubsub_index,[{record_name,pubsub_index},
+ {attributes,[index,last,free]}]},
+ {sr_group,[{record_name,sr_group},{attributes,[group_host,opts]}]},
+ {vcard_search,[{record_name,vcard_search},
+ {attributes,[us,user,luser,fn,lfn,family,lfamily,
+ given,lgiven,middle,lmiddle,nickname,
+ lnickname,bday,lbday,ctry,lctry,locality,
+ llocality,email,lemail,orgname,lorgname,
+ orgunit,lorgunit]}]},
+ {motd_users,[{record_name,motd_users},{attributes,[us,dummy]}]},
+ {private_storage,[{record_name,private_storage},
+ {attributes,[usns,xml]}]},
+ {pubsub_item,[{record_name,pubsub_item},
+ {attributes,[itemid,creation,modification,payload]}]},
+ {muc_room,[{record_name,muc_room},{attributes,[name_host,opts]}]},
+ {pubsub_state,[{record_name,pubsub_state},
+ {attributes,[stateid,items,affiliation,
+ subscriptions]}]},
+ {muc_registered,[{record_name,muc_registered},
+ {attributes,[us_host,nick]}]},
+ {pubsub_node,[{record_name,pubsub_node},
+ {attributes,[nodeid,id,parents,type,owners,
+ options]}]}]}.
+{local_config,{auth_method,"localhost"},internal}.
+{local_config,
+ {modules,"localhost"},
+ [{mod_version,[]},
+ {mod_vcard,[]},
+ {mod_time,[]},
+ {mod_stats,[]},
+ {mod_shared_roster,[]},
+ {mod_roster,[]},
+ {mod_register,
+ [{welcome_message,{"Welcome!","Hi.\nWelcome to this XMPP server."}},
+ {access,register}]},
+ {mod_pubsub,
+ [{access_createnode,pubsub_createnode},
+ {ignore_pep_from_offline,true},
+ {last_item_cache,false},
+ {plugins,["flat","hometree","pep"]}]},
+ {mod_private,[]},
+ {mod_privacy,[]},
+ {mod_ping,[]},
+ {mod_offline,[{access_max_user_messages,max_user_offline_messages}]},
+ {mod_muc,
+ [{access,muc},
+ {access_create,muc_create},
+ {access_persistent,muc_create},
+ {access_admin,muc_admin}]},
+ {mod_last,[]},
+ {mod_http_bind,[]},
+ {mod_irc,[]},
+ {mod_disco,[]},
+ {mod_configure,[]},
+ {mod_caps,[]},
+ {mod_announce,[{access,announce}]},
+ {mod_adhoc,[]}]}.
+{local_config,listen,
+ [{{5222,{0,0,0,0},tcp},
+ ejabberd_c2s,
+ [{access,c2s},{shaper,c2s_shaper},{max_stanza_size,65536}]},
+ {{5269,{0,0,0,0},tcp},
+ ejabberd_s2s_in,
+ [{shaper,s2s_shaper},{max_stanza_size,131072}]},
+ {{5280,{0,0,0,0},tcp},
+ ejabberd_http,
+ [captcha,http_bind,http_poll,web_admin]}]}.
+{local_config,max_fsm_queue,1000}.
+{local_config,node_start,{1288,388816,452358}}.
+{config,language,"en"}.
+{config,{access,c2s,global},[{deny,blocked},{allow,all}]}.
+{config,{access,pubsub_createnode,global},[{allow,local}]}.
+{config,{access,s2s_shaper,global},[{fast,all}]}.
+{config,{access,c2s_shaper,global},[{none,admin},{normal,all}]}.
+{config,{access,muc_create,global},[{allow,local}]}.
+{config,hosts,["localhost"]}.
+{config,{access,muc,global},[{allow,all}]}.
+{config,{shaper,fast,global},{maxrate,50000}}.
+{config,{access,max_user_sessions,global},[{10,all}]}.
+{config,{access,configure,global},[{allow,admin}]}.
+{config,{shaper,normal,global},{maxrate,1000}}.
+{config,{access,muc_admin,global},[{allow,admin}]}.
+{config,{access,max_user_offline_messages,global},[{5000,admin},{100,all}]}.
+{config,{access,announce,global},[{allow,admin}]}.
+{config,{access,register,global},[{allow,all}]}.
+{config,{access,local,global},[{allow,local}]}.
+{passwd,{"admin","localhost"},"admin"}.
+{acl,{local,global},{user_regexp,[]}}.
+{acl,{admin,global},{user,"admin","localhost"}}.
+{pubsub_index,node,2,[]}.
+{pubsub_state,{{[],"pubsub.localhost",[]},1},[],owner,[]}.
+{pubsub_state,{{[],"pubsub.localhost",[]},2},[],owner,[]}.
+{pubsub_node,{"pubsub.localhost",<<"/home">>},
+ 1,[],"hometree",
+ [{[],"pubsub.localhost",[]}],
+ [{deliver_payloads,true},
+ {notify_config,false},
+ {notify_delete,false},
+ {notify_retract,true},
+ {purge_offline,false},
+ {persist_items,true},
+ {max_items,10},
+ {subscribe,true},
+ {access_model,open},
+ {roster_groups_allowed,[]},
+ {publish_model,publishers},
+ {notification_type,headline},
+ {max_payload_size,60000},
+ {send_last_published_item,on_sub_and_presence},
+ {deliver_notifications,true},
+ {presence_based_delivery,false}]}.
+{pubsub_node,{"pubsub.localhost",<<"/home/localhost">>},
+ 2,
+ [<<"/home">>],
+ "hometree",
+ [{[],"pubsub.localhost",[]}],
+ [{deliver_payloads,true},
+ {notify_config,false},
+ {notify_delete,false},
+ {notify_retract,true},
+ {purge_offline,false},
+ {persist_items,true},
+ {max_items,10},
+ {subscribe,true},
+ {access_model,open},
+ {roster_groups_allowed,[]},
+ {publish_model,publishers},
+ {notification_type,headline},
+ {max_payload_size,60000},
+ {send_last_published_item,on_sub_and_presence},
+ {deliver_notifications,true},
+ {presence_based_delivery,false}]}.
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits