scansion: Add test for mod_server_contact_info / XEP-0157
authorKim Alvefur <zash@zash.se>
Wed, 27 May 2020 19:44:12 +0200
changeset 10852 7fd8976d47d7
parent 10851 42c8dce6e765
child 10853 19e7092e062c
scansion: Add test for mod_server_contact_info / XEP-0157
spec/scansion/prosody.cfg.lua
spec/scansion/server_contact_info.scs
--- a/spec/scansion/prosody.cfg.lua	Fri May 22 15:36:03 2020 +0200
+++ b/spec/scansion/prosody.cfg.lua	Wed May 27 19:44:12 2020 +0200
@@ -52,7 +52,7 @@
 	-- Other specific functionality
 		--"limits"; -- Enable bandwidth limiting for XMPP connections
 		--"groups"; -- Shared roster support
-		--"server_contact_info"; -- Publish contact information for this service
+		"server_contact_info"; -- Publish contact information for this service
 		--"announce"; -- Send announcement to all online users
 		--"welcome"; -- Welcome users who register accounts
 		--"watchregistrations"; -- Alert admins of registrations
@@ -65,6 +65,15 @@
 		--"scansion_record"; -- Records things that happen in scansion test case format
 }
 
+contact_info = {
+	abuse = { "mailto:abuse@localhost", "xmpp:abuse@localhost" };
+	admin = { "mailto:admin@localhost", "xmpp:admin@localhost" };
+	feedback = { "http://localhost/feedback.html", "mailto:feedback@localhost", "xmpp:feedback@localhost" };
+	sales = { "xmpp:sales@localhost" };
+	security = { "xmpp:security@localhost" };
+	support = { "https://localhost/support.html", "xmpp:support@localhost" };
+}
+
 modules_disabled = {
 	"s2s";
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scansion/server_contact_info.scs	Wed May 27 19:44:12 2020 +0200
@@ -0,0 +1,53 @@
+# XEP-0157: Contact Addresses for XMPP Services
+# mod_server_contact_info
+
+[Client] Romeo
+	jid: romeo@localhost
+	password: password
+
+-----
+
+Romeo connects
+
+Romeo sends:
+	<iq type='get' id='lx2' to='localhost'>
+		<query xmlns='http://jabber.org/protocol/disco#info'/>
+	</iq>
+
+# Ignore other disco#info features, identities etc
+
+Romeo receives:
+	<iq from='localhost' id='lx2' type='result'>
+		<query xmlns='http://jabber.org/protocol/disco#info' scansion:strict='false'>
+			<x xmlns='jabber:x:data' type='result'>
+				<field type='hidden' var='FORM_TYPE'>
+					<value>http://jabber.org/network/serverinfo</value>
+				</field>
+				<field type='list-multi' var='abuse-addresses'>
+					<value>mailto:abuse@localhost</value>
+					<value>xmpp:abuse@localhost</value>
+				</field>
+				<field type='list-multi' var='admin-addresses'>
+					<value>mailto:admin@localhost</value>
+					<value>xmpp:admin@localhost</value>
+				</field>
+				<field type='list-multi' var='feedback-addresses'>
+					<value>http://localhost/feedback.html</value>
+					<value>mailto:feedback@localhost</value>
+					<value>xmpp:feedback@localhost</value>
+				</field>
+				<field type='list-multi' var='sales-addresses'>
+					<value>xmpp:sales@localhost</value>
+				</field>
+				<field type='list-multi' var='security-addresses'>
+					<value>xmpp:security@localhost</value>
+				</field>
+				<field type='list-multi' var='support-addresses'>
+					<value>https://localhost/support.html</value>
+					<value>xmpp:support@localhost</value>
+				</field>
+			</x>
+		</query>
+	</iq>
+
+Romeo disconnects