Write the brand in lowercase where people see it
The name is inbuxa, lowercase, like the wordmark; INBUXA reads as an acronym. The admin and webmail already changed. Here that's everything the server shows people: the brand macro behind the protocol greetings, the HTTP and SCIM realms, the startup banner and the calendar and contact PRODID; the first-party OAuth client descriptions; the legacy-protocol refusals; the default calendar and address book names and the SMTP greeting default, in the code and the schema served to the admin (checksum regenerated); startup and shutdown events; the User-Agent; the sign-in and RSVP pages; the service units; the OpenAPI realm; the crate descriptions and the README, where it's set in bold. Identifiers that are uppercase for their own reasons stay: INBUXA_* settings, SUBSPACE_INBUXA. So do code comments and the AGPL 5(a) notice lines. Tests follow: the IMAP ID name, the default collection names, the PRODID in the iTIP fixtures and the CalDAV free-busy expectations, and the e2e legacy-protocol refusals. The webdav, imap and jmap suites pass, so do the unit tests of every crate touched, and 73 of 75 SMTP tests; of the other two, antispam fails on main too, and queue_retry is a timing flake that passes on its own.
This commit is contained in:
@@ -49,7 +49,7 @@ HTTP = "http://127.0.0.1:18080"
|
||||
# made to speak.
|
||||
PORTS = {"imap": 18993, "pop3": 18995, "submissions": 18465, "smtp": 18025}
|
||||
TLS_PORTS = {18993, 18995, 18465}
|
||||
SMTP_REFUSAL = ("535 5.7.0 This server allows only INBUXA webmail and JMAP apps. "
|
||||
SMTP_REFUSAL = ("535 5.7.0 This server allows only inbuxa webmail and JMAP apps. "
|
||||
"This mail app can't send.")
|
||||
INBUXA = "urn:inbuxa:jmap"
|
||||
failures = []
|
||||
@@ -333,7 +333,7 @@ def tenant_checks(admin, admin_pw, account):
|
||||
"and still enabled for an account outside the tenant (test 13)")
|
||||
|
||||
# Refused on the tenant's domain, every way in the same words (tests 6-8).
|
||||
imap_no = ("NO [ALERT] Your organization allows only INBUXA webmail and JMAP apps. "
|
||||
imap_no = ("NO [ALERT] Your organization allows only inbuxa webmail and JMAP apps. "
|
||||
"This mail app can't sign in.")
|
||||
check(imap_login(PORTS["imap"], tu, user_pw) == imap_no,
|
||||
"the tenant's user is refused over IMAP with the right password (test 6)")
|
||||
@@ -341,10 +341,10 @@ def tenant_checks(admin, admin_pw, account):
|
||||
check(imap_login(PORTS["imap"], "[email protected]", "x") == imap_no,
|
||||
"and a made-up address on the domain gets the same (test 7)")
|
||||
check(pop3_login(PORTS["pop3"], tu, user_pw) ==
|
||||
"-ERR [AUTH] Your organization allows only INBUXA webmail and JMAP apps. "
|
||||
"-ERR [AUTH] Your organization allows only inbuxa webmail and JMAP apps. "
|
||||
"This mail app can't sign in.", "POP3 refuses in its own form (test 8)")
|
||||
check(smtp_auths(PORTS["submissions"], tu, [user_pw])[0] ==
|
||||
"535 5.7.0 Your organization allows only INBUXA webmail and JMAP apps. "
|
||||
"535 5.7.0 Your organization allows only inbuxa webmail and JMAP apps. "
|
||||
"This mail app can't send.", "submission refuses in its own form (test 8)")
|
||||
check(imap_login(PORTS["imap"], admin, admin_pw).startswith("OK"),
|
||||
"an account on another domain signs in over IMAP normally (test 6)")
|
||||
|
||||
@@ -61,7 +61,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
|
||||
summary.summary: Text("Meet me maybe")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
@@ -176,7 +176,7 @@ summary.summary: Text("Meet me maybe")
|
||||
~summary.description: Text("This is the event description")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
@@ -224,7 +224,7 @@ END:VCALENDAR
|
||||
# Make sure the original alarms are preserved
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
|
||||
@@ -64,7 +64,7 @@ summary.location: Text("Conference Room A")
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
LOCATION:Conference Room A
|
||||
@@ -114,7 +114,7 @@ summary.location: Text("Conference Room A")
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
LOCATION:Conference Room A
|
||||
|
||||
@@ -146,7 +146,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -402,7 +402,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -450,7 +450,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
|
||||
@@ -37,7 +37,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
CLASS:PUBLIC
|
||||
@@ -117,7 +117,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
CLASS:PUBLIC
|
||||
@@ -207,7 +207,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
@@ -226,7 +226,7 @@ END:VCALENDAR
|
||||
# Make sure B has the cancelled event
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
CLASS:PUBLIC
|
||||
@@ -358,7 +358,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
CLASS:PUBLIC
|
||||
@@ -386,7 +386,7 @@ END:VCALENDAR
|
||||
# Make sure B has the complete event including all updates
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
CLASS:PUBLIC
|
||||
@@ -538,7 +538,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
DESCRIPTION:IETF-C&S Conference Call
|
||||
@@ -564,7 +564,7 @@ END:VCALENDAR
|
||||
# Make sure all instances in B were deleted
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
CLASS:PUBLIC
|
||||
@@ -677,7 +677,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
LOCATION:The White Room
|
||||
@@ -742,7 +742,7 @@ summary.summary: Text("Review Accounts")
|
||||
~summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
LOCATION:The White Room
|
||||
@@ -770,7 +770,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
LOCATION:The Red Room
|
||||
@@ -791,7 +791,7 @@ END:VCALENDAR
|
||||
# Make sure B has the updated event
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
LOCATION:The White Room
|
||||
@@ -812,7 +812,7 @@ END:VCALENDAR
|
||||
# Make sure C has the updated event
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
LOCATION:The Red Room
|
||||
@@ -853,7 +853,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Review Accounts
|
||||
@@ -919,7 +919,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
|
||||
summary.summary: Text("Weekly Sync")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Weekly Sync
|
||||
@@ -967,7 +967,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
|
||||
summary.summary: Text("Weekly Sync")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Weekly Sync
|
||||
|
||||
@@ -32,7 +32,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -61,7 +61,7 @@ END:VCALENDAR
|
||||
# Make sure B receives the request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -88,7 +88,7 @@ END:VCALENDAR
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T200000Z
|
||||
SEQUENCE:1
|
||||
@@ -119,7 +119,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 })
|
||||
summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Conference
|
||||
@@ -198,7 +198,7 @@ summary.summary: Text("Phone Conference")
|
||||
~summary.summary: Text("Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -228,7 +228,7 @@ END:VCALENDAR
|
||||
# Make sure C receives the request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -256,7 +256,7 @@ END:VCALENDAR
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T180000Z
|
||||
UID:[email protected]
|
||||
@@ -287,7 +287,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
@@ -313,7 +313,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -343,7 +343,7 @@ END:VCALENDAR
|
||||
# Make sure E receives the request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -398,7 +398,7 @@ END:VCALENDAR
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T180000Z
|
||||
SEQUENCE:2
|
||||
@@ -430,7 +430,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
@@ -479,7 +479,7 @@ END:VCALENDAR
|
||||
# Make sure C receives the reply
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -508,7 +508,7 @@ END:VCALENDAR
|
||||
> put [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP:19970701T180000Z
|
||||
SEQUENCE:2
|
||||
@@ -540,7 +540,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
@@ -564,7 +564,7 @@ END:VCALENDAR
|
||||
# Make sure C receives the reply
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -650,7 +650,7 @@ summary.summary: Text("Phone Conference")
|
||||
~summary.attendee: Participants([ItipParticipant { email: "[email protected]", name: None, is_organizer: true }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }, ItipParticipant { email: "[email protected]", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "[email protected]", name: None, is_organizer: false }])
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CONFIRMED
|
||||
@@ -681,7 +681,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
@@ -702,7 +702,7 @@ END:VCALENDAR
|
||||
# Make sure B receives the cancelation
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
@@ -727,7 +727,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 })
|
||||
summary.summary: Text("Phone Conference")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
|
||||
@@ -32,7 +32,7 @@ summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 })
|
||||
summary.summary: Text("Create the requirements document")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
PRIORITY:1
|
||||
@@ -57,7 +57,7 @@ END:VCALENDAR
|
||||
# Make sure B received the todo
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
PRIORITY:1
|
||||
@@ -103,7 +103,7 @@ summary.attendee: Participants([ItipParticipant { email: "[email protected]", name:
|
||||
summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 })
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
STATUS:IN-PROCESS
|
||||
@@ -172,7 +172,7 @@ summary.attendee: Participants([ItipParticipant { email: "[email protected]", name:
|
||||
summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 })
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
PERCENT-COMPLETE:75
|
||||
@@ -241,7 +241,7 @@ summary.attendee: Participants([ItipParticipant { email: "[email protected]", name:
|
||||
summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 })
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
DUE:19970722T170000Z
|
||||
@@ -317,7 +317,7 @@ summary.summary: Text("Send Status Reports to Area Managers")
|
||||
~summary.summary: Text("Create the requirements document")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
PRIORITY:1
|
||||
@@ -347,7 +347,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count
|
||||
summary.summary: Text("Create the requirements document")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
STATUS:CANCELLED
|
||||
@@ -367,7 +367,7 @@ END:VCALENDAR
|
||||
# Make sure "C" received the cancel request
|
||||
> get [email protected] [email protected]
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
PRIORITY:1
|
||||
@@ -451,7 +451,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count
|
||||
summary.summary: Text("Send Status Reports to Area Managers")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
PERCENT-COMPLETE:75
|
||||
|
||||
@@ -47,7 +47,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count:
|
||||
summary.summary: Text("Review Internet-Draft")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Review Internet-Draft
|
||||
@@ -89,7 +89,7 @@ END:VCALENDAR
|
||||
# Make sure the participant receives the event
|
||||
> get [email protected] 9263504FD3AD
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Review Internet-Draft
|
||||
@@ -185,7 +185,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count:
|
||||
summary.summary: Text("Review Internet-Draft")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Review Internet-Draft
|
||||
@@ -343,7 +343,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count:
|
||||
summary.summary: Text("Review Internet-Draft")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Review Internet-Draft
|
||||
|
||||
@@ -30,7 +30,7 @@ summary.dtstart: Time(ItipTime { start: 1243958400, tz_id: 32768 })
|
||||
summary.summary: Text("Lunch")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Lunch
|
||||
@@ -83,7 +83,7 @@ END:VCALENDAR
|
||||
# Make sure the message was received by the attendees
|
||||
> get [email protected] 9263504FD3AD
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Lunch
|
||||
@@ -170,7 +170,7 @@ summary.dtstart: Time(ItipTime { start: 1243958400, tz_id: 32768 })
|
||||
summary.summary: Text("Lunch")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Lunch
|
||||
|
||||
@@ -26,7 +26,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 })
|
||||
summary.summary: Text("Berlin meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Berlin meeting
|
||||
@@ -92,7 +92,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 })
|
||||
summary.summary: Text("Berlin meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Berlin meeting
|
||||
@@ -144,7 +144,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 })
|
||||
summary.summary: Text("Berlin meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
STATUS:CANCELLED
|
||||
@@ -228,7 +228,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 })
|
||||
summary.summary: Text("Berlin meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Berlin meeting
|
||||
|
||||
@@ -47,7 +47,7 @@ pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConnection) {
|
||||
imap.send("ID").await;
|
||||
imap.assert_read(Type::Tagged, ResponseType::Ok)
|
||||
.await
|
||||
.assert_contains("* ID (\"name\" \"INBUXA\" \"version\" ");
|
||||
.assert_contains("* ID (\"name\" \"inbuxa\" \"version\" ");
|
||||
|
||||
// Login should be disabled
|
||||
imap.send("LOGIN [email protected] secret").await;
|
||||
|
||||
@@ -45,7 +45,7 @@ pub async fn test(test: &TestServer) {
|
||||
list[0],
|
||||
json!({
|
||||
"id": default_calendar_id,
|
||||
"name": "INBUXA Calendar ([email protected])",
|
||||
"name": "inbuxa Calendar ([email protected])",
|
||||
"description": null,
|
||||
"sortOrder": 0,
|
||||
"isSubscribed": true,
|
||||
@@ -310,7 +310,7 @@ pub async fn test(test: &TestServer) {
|
||||
}));
|
||||
response.list()[1].assert_is_equal(json!({
|
||||
"id": default_calendar_id,
|
||||
"name": "INBUXA Calendar ([email protected])",
|
||||
"name": "inbuxa Calendar ([email protected])",
|
||||
"description": (),
|
||||
"sortOrder": 0,
|
||||
"isSubscribed": true,
|
||||
|
||||
@@ -38,7 +38,7 @@ pub async fn test(test: &TestServer) {
|
||||
assert_eq!(
|
||||
list[0],
|
||||
json!({
|
||||
"name": "INBUXA Address Book ([email protected])",
|
||||
"name": "inbuxa Address Book ([email protected])",
|
||||
"description": (),
|
||||
"sortOrder": 0,
|
||||
"isSubscribed": true,
|
||||
@@ -148,7 +148,7 @@ pub async fn test(test: &TestServer) {
|
||||
"id": addressbook_id,
|
||||
}),
|
||||
json!({
|
||||
"name": "INBUXA Address Book ([email protected])",
|
||||
"name": "inbuxa Address Book ([email protected])",
|
||||
"description": (),
|
||||
"sortOrder": 0,
|
||||
"isSubscribed": true,
|
||||
|
||||
@@ -106,7 +106,7 @@ async fn discovery(scim: &ScimTest) {
|
||||
);
|
||||
assert!(
|
||||
!config.body.contains("stalw"),
|
||||
"SCIM-4: documentation is INBUXA's own"
|
||||
"SCIM-4: documentation is inbuxa's own"
|
||||
);
|
||||
|
||||
let types = anonymous.get("/ResourceTypes").await;
|
||||
|
||||
@@ -503,7 +503,7 @@ pub async fn branding_compat() {
|
||||
let admin = std::env::var("INBUXA_COMPAT_ADMIN").expect("INBUXA_COMPAT_ADMIN");
|
||||
assert!(
|
||||
std::env::var("NO_INSERT").is_ok(),
|
||||
"NO_INSERT must be set, or the copy of INBUXA's data is wiped"
|
||||
"NO_INSERT must be set, or the copy of inbuxa's data is wiped"
|
||||
);
|
||||
let test = TestServerBuilder::new("branding_compat")
|
||||
.await
|
||||
|
||||
@@ -431,7 +431,7 @@ pub async fn masked_email_compat() {
|
||||
.expect("masks JSON");
|
||||
assert!(
|
||||
std::env::var("NO_INSERT").is_ok(),
|
||||
"NO_INSERT must be set, or the copy of INBUXA's data is wiped"
|
||||
"NO_INSERT must be set, or the copy of inbuxa's data is wiped"
|
||||
);
|
||||
|
||||
let test = TestServerBuilder::new("masked_email_compat")
|
||||
|
||||
@@ -908,7 +908,7 @@ pub async fn tenant_compat() {
|
||||
.expect("expected JSON");
|
||||
assert!(
|
||||
std::env::var("NO_INSERT").is_ok(),
|
||||
"NO_INSERT must be set, or the copy of INBUXA's data is wiped"
|
||||
"NO_INSERT must be set, or the copy of inbuxa's data is wiped"
|
||||
);
|
||||
|
||||
let test = TestServerBuilder::new("tenant_compat")
|
||||
|
||||
@@ -618,7 +618,7 @@ pub async fn undelete_compat() {
|
||||
.expect("archived items JSON");
|
||||
assert!(
|
||||
std::env::var("NO_INSERT").is_ok(),
|
||||
"NO_INSERT must be set, or the copy of INBUXA's data is wiped"
|
||||
"NO_INSERT must be set, or the copy of inbuxa's data is wiped"
|
||||
);
|
||||
|
||||
let test = TestServerBuilder::new("undelete_compat")
|
||||
|
||||
@@ -907,7 +907,7 @@ const REPORT_10: &str = r#"<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
const REPORT_10_RESPONSE: &str = r#"BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
BEGIN:VFREEBUSY
|
||||
DTSTART:20060104T140000Z
|
||||
DTEND:20060105T220000Z
|
||||
@@ -928,7 +928,7 @@ const REPORT_11: &str = r#"<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
const REPORT_11_RESPONSE: &str = r#"BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//INBUXA//INBUXA Server//EN
|
||||
PRODID:-//inbuxa//inbuxa Server//EN
|
||||
BEGIN:VFREEBUSY
|
||||
DTSTART:20060101T000000Z
|
||||
DTEND:20060104T140000Z
|
||||
|
||||
Reference in New Issue
Block a user