diff --git a/backend-docker/docker-compose.yaml b/backend-docker/docker-compose.yaml index 46ed58161..ad47231f8 100644 --- a/backend-docker/docker-compose.yaml +++ b/backend-docker/docker-compose.yaml @@ -2,7 +2,7 @@ version: "3" services: tmail-backend: - image: linagora/tmail-backend:memory-1.0.3-rc1 + image: linagora/tmail-backend:memory-1.0.5 container_name: tmail-backend volumes: - ./jwt_publickey:/root/conf/jwt_publickey @@ -11,6 +11,7 @@ services: - ./imapserver.xml:/root/conf/imapserver.xml - ./jmap.properties:/root/conf/jmap.properties - ./linagora-ecosystem.properties:/root/conf/linagora-ecosystem.properties + - ./openpaas.properties:/root/conf/openpaas.properties - ../provisioning/integration_test/provisioning.sh:/root/conf/integration_test/provisioning.sh - ../provisioning/integration_test/eml:/root/conf/integration_test/eml ports: diff --git a/backend-docker/openpaas.properties b/backend-docker/openpaas.properties new file mode 100644 index 000000000..264b0649b --- /dev/null +++ b/backend-docker/openpaas.properties @@ -0,0 +1,27 @@ +###################################################################### +# As a subpart of Twake Mail, this file is edited by Linagora. # +# # +# https://twake-mail.com/ # +# https://linagora.com # +# # +# This file is subject to The Affero Gnu Public License # +# version 3. # +# # +# https://www.gnu.org/licenses/agpl-3.0.en.html # +# # +# This program is distributed in the hope that it will be # +# useful, but WITHOUT ANY WARRANTY; without even the implied # +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR # +# PURPOSE. See the GNU Affero General Public License for # +# more details. # +###################################################################### + +openpaas.api.uri=http://esn:8080/api +openpaas.admin.user=admin@open-paas.org +openpaas.admin.password=secret +openpaas.rest.client.trust.all.ssl.certs=true + +dav.api.uri=http://esn_sabre:80 +dav.admin.user=admin +dav.admin.password=secret123 +dav.rest.client.trust.all.ssl.certs=true \ No newline at end of file diff --git a/integration_test/robots/search_robot.dart b/integration_test/robots/search_robot.dart index cc8b09701..0e0d16a21 100644 --- a/integration_test/robots/search_robot.dart +++ b/integration_test/robots/search_robot.dart @@ -75,10 +75,10 @@ class SearchRobot extends CoreRobot { } Future openEmailWithSubject(String subject) async { - await $(find.byType(EmailTileBuilder)) - .which((view) => view.presentationEmail.subject == subject) - .first - .tap(); + final email = $(EmailTileBuilder) + .which((view) => view.presentationEmail.subject == subject); + await $.waitUntilVisible(email); + await email.tap(); await $.pump(const Duration(seconds: 2)); } } \ No newline at end of file diff --git a/integration_test/scenarios/calendar/calendar_event_counter_scenario.dart b/integration_test/scenarios/calendar/calendar_event_counter_scenario.dart new file mode 100644 index 000000000..89b9989f3 --- /dev/null +++ b/integration_test/scenarios/calendar/calendar_event_counter_scenario.dart @@ -0,0 +1,93 @@ +import 'package:tmail_ui_user/features/email/presentation/email_view.dart'; +import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/calendar_event_action_banner_widget.dart'; +import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/calendar_event_action_button_widget.dart'; +import 'package:tmail_ui_user/features/search/email/presentation/search_email_view.dart'; +import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; + +import '../../base/base_test_scenario.dart'; +import '../../robots/search_robot.dart'; +import '../../robots/thread_robot.dart'; + +class CalendarEventCounterScenario extends BaseTestScenario { + const CalendarEventCounterScenario(super.$); + + @override + Future runTestLogic() async { + const emailSubject = 'Proposed new time'; + + final threadRobot = ThreadRobot($); + final searchRobot = SearchRobot($); + final appLocalizations = AppLocalizations(); + + await threadRobot.openSearchView(); + await _expectSearchViewVisible(); + + await searchRobot.enterQueryString(emailSubject); + await searchRobot.tapOnShowAllResultsText(); + await _expectSearchResultEmailListVisible(); + + await searchRobot.openEmailWithSubject(emailSubject); + await _expectEmailViewVisible(); + await _expectYesButtonVisible(appLocalizations); + await _expectMailToAttendeesButtonVisible(appLocalizations); + await _expectNoButtonInvisible(appLocalizations); + await _expectMaybeButtonInvisible(appLocalizations); + await _expectProposedEventChangesTextVisible(appLocalizations); + } + + Future _expectSearchViewVisible() async { + await expectViewVisible($(SearchEmailView)); + } + + Future _expectSearchResultEmailListVisible() async { + await expectViewVisible($(#search_email_list_notification_listener)); + } + + Future _expectEmailViewVisible() async { + await expectViewVisible($(EmailView)); + } + + Future _expectYesButtonVisible( + AppLocalizations appLocalizations, + ) async { + final yesButton = $(CalendarEventActionButtonWidget) + .$(appLocalizations.yes); + await yesButton.scrollTo(); + await expectViewVisible(yesButton); + } + + Future _expectMailToAttendeesButtonVisible( + AppLocalizations appLocalizations, + ) async { + final mailToAttendeesButton = $(CalendarEventActionButtonWidget) + .$(appLocalizations.mailToAttendees); + await mailToAttendeesButton.scrollTo(); + await expectViewVisible(mailToAttendeesButton); + } + + Future _expectNoButtonInvisible( + AppLocalizations appLocalizations, + ) async { + final noButton = $(CalendarEventActionButtonWidget) + .$(appLocalizations.no); + await expectViewInvisible(noButton); + } + + Future _expectMaybeButtonInvisible( + AppLocalizations appLocalizations, + ) async { + final maybeButton = $(CalendarEventActionButtonWidget) + .$(appLocalizations.maybe); + await expectViewInvisible(maybeButton); + } + + Future _expectProposedEventChangesTextVisible( + AppLocalizations appLocalizations, + ) async { + final proposedEventChangesText = $(CalendarEventActionBannerWidget) + .$(appLocalizations.anAttendee + + appLocalizations.messageEventActionBannerAttendeeCounter); + await proposedEventChangesText.scrollTo(); + await expectViewVisible(proposedEventChangesText); + } +} \ No newline at end of file diff --git a/integration_test/tests/calendar/calendar_event_counter_test.dart b/integration_test/tests/calendar/calendar_event_counter_test.dart new file mode 100644 index 000000000..3f68d2c1e --- /dev/null +++ b/integration_test/tests/calendar/calendar_event_counter_test.dart @@ -0,0 +1,11 @@ +import '../../base/test_base.dart'; +import '../../scenarios/calendar/calendar_event_counter_scenario.dart'; + +void main() { + TestBase().runPatrolTest( + description: 'Should see yes and mail to attendees buttons ' + 'and should not see no and maybe buttons ' + 'when user view calendar event counter email', + scenarioBuilder: ($) => CalendarEventCounterScenario($), + ); +} \ No newline at end of file diff --git a/provisioning/integration_test/eml/calendar/calendar_counter.eml b/provisioning/integration_test/eml/calendar/calendar_counter.eml new file mode 100644 index 000000000..3af6bc672 --- /dev/null +++ b/provisioning/integration_test/eml/calendar/calendar_counter.eml @@ -0,0 +1,904 @@ +Return-Path: +X-MEETING-METHOD: COUNTER +X-MEETING-UID: a0b97e6e-3c82-4ef1-9837-56c168959f3d +X-MEETING-SEQUENCE: 0 +X-MEETING-DTSTAMP: 20250415T091711Z +org.apache.james.rspamd.flag: NO +org.apache.james.rspamd.status: No, actions=no action score=-2.549996 requiredScore=15.0 +Delivered-To: tddang@linagora.com +Received: from 172.17.0.1 (EHLO incoming.linagora.com) ([172.17.0.1]) + by incoming.linagora.com (JAMES SMTP Server ) with ESMTP ID 6dc37210 + for ; + Tue, 15 Apr 2025 09:17:23 +0000 (UTC) +Received: from obm3-ui.linagora.dc1 (arathi.linagora.com [54.36.8.82]) + by incoming.linagora.com (Postfix) with ESMTP id 4FA8F142A6D + for ; Tue, 15 Apr 2025 09:17:23 +0000 (UTC) +Received: from s602i.ik2.com (s602i.ik2.com [66.37.25.76]) + by obm3-ui.linagora.dc1 (Postfix) with ESMTP id E2F581D5C6 + for ; Tue, 15 Apr 2025 11:23:55 +0200 (CEST) +Received: from s214b.ik2.com + by s602i.ik2.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) + (envelope-from ) + id 1u4cPp-0000Cm-SM + for tddang@linagora.com; Tue, 15 Apr 2025 09:17:21 +0000 +Received: from 209.85.219.74 by s214b.ik2.com (IK2 SMTP Server); Tue, 15 Apr 2025 09:17:12 +0000 +Received: by mail-qv1-f74.google.com with SMTP id 6a1803df08f44-6e8feffbe08so127803806d6.0 + for ; Tue, 15 Apr 2025 02:17:12 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=google.com; s=20230601; t=1744708631; x=1745313431; darn=linagora.com; + h=to:from:subject:date:message-id:auto-submitted:sender:reply-to + :mime-version:from:to:cc:subject:date:message-id:reply-to; + bh=Cil7VBbxwD+pMFVgzg6o7fz/hL0TW6kWv0YKf6DVxCg=; + b=ArYl1S0k1/WXJm2I/FdP1nyxtvMKE8BVrrkz+RYX5IKWCR0vWnhLU6OhxytAAHIWyT + 3YokowMEJnxqsY5IBWBC6arbXJitpUZyb4gdx4OGWyr461M7jChuKc6BXox7KtdRK/i3 + wXMyxMDy8kNNaFiQlosEFJ4wjZ1mNxCCtkkuYtzagWua86VR7bnOkFFztPvUmTssX4qD + vuW6bnKkATVHh5t3bIEflR89X2kP2u7dCxGjgOVYL+w+Tg634gtUrODHJSLWa5i+8WcB + 6abRFgapZ2TMfYbrowhunyOFkCQ7D2twnytDeLiXM05kZ+jpoJHp+DI8Ysi3lyGHwkfg + f/1A== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=gmail.com; s=20230601; t=1744708631; x=1745313431; darn=linagora.com; + h=to:from:subject:date:message-id:auto-submitted:sender:reply-to + :mime-version:from:to:cc:subject:date:message-id:reply-to; + bh=Cil7VBbxwD+pMFVgzg6o7fz/hL0TW6kWv0YKf6DVxCg=; + b=bmTpX48M33CbmAJcxf3HC11XExaw9nH9tGsv6wLs/RTM0XgCSXfYzZjUFderyS8sBC + hFHmOmdG+26n07gyq7IX/gPm8jPC7OZC6tmE8aN9cKqylnNRtPkq4OU94wykDhBLAgKW + Uqq+IYHOBqPQ/0f/LwJkAHDcKK+GP0vucKTRrWHv6Pxr22wDtefyPTb8sS8Gg/Pa27VR + Vg9o8YLvY1AGmSVj7l1TX1FI93wVDl+MOGfPo7/leUT4tClp0ZIyfDIFf9bUbeZ4/yCY + sfupk68iVsj4Lq9o6IZIrYqcFmGLfVSt82bY0dGMkUu9gbBp15/WODnSkQEhmpSdySQG + qItQ== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20230601; t=1744708631; x=1745313431; + h=to:from:subject:date:message-id:auto-submitted:sender:reply-to + :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id + :reply-to; + bh=Cil7VBbxwD+pMFVgzg6o7fz/hL0TW6kWv0YKf6DVxCg=; + b=k6E3P5b9ymmVW/fsB2RPJq/5ah4hKHhRUrU5U793Sby1cZTChc1ci/IR34qHawANSB + DbgRti+7OIwjDGpK1ejDxl5SuuNT75cgww3vh+lgMLC6wv0olyPekvYYsBGIMOuzDtTG + xkqs4mhjM8qIcf6IO6Y5jdSvzjvJd5PF2iGhKY3ixnUzN+WJMGBv7hb9UIbeMp6UdWiC + lpa79dkSb0YDQlYWi4OH9Mx2fOiFrqC5r6KsU/NH/3vR14AzM4Jko2m08gNExW4dFmgj + 2q/tZeD0Xkw88ZNJ7xNAgvG1jenWtl0mRTryIOFiY5ZS2D1n2x55ZXmuvEYrSE6JX08M + h0Xw== +X-Gm-Message-State: AOJu0YxujVkhfATZLvm38x84bXXAbdRs0mznaC58QPkrNd1cYsk+aYzn + KiFPmtnm5pSW0AB2rhoDnElB4m+EFAZ4cc6t4LH5KzYx1eJAbrOHtOx2vwpi2loM+clwbhdp1aA + e2yGyz4k5uXrzuj7xPcDyc7lliju6Yx4= +X-Google-Smtp-Source: AGHT+IFqLhv5GmBNLIffyU+rLst+Slgi8cHfr7wGY+sxAe+EpAWQyNyLxKoMeDB5dScnPq33eGIh97i8FoY+RsCYffri +MIME-Version: 1.0 +X-Received: by 2002:a05:6214:20c3:b0:6ed:71b:30a0 with SMTP id + 6a1803df08f44-6f230cc1aa4mr193017926d6.1.1744708631224; Tue, 15 Apr 2025 + 02:17:11 -0700 (PDT) +Reply-To: Dat Dang +Sender: Google Calendar +Auto-Submitted: auto-generated +Message-ID: +Date: Tue, 15 Apr 2025 09:17:11 +0000 +Subject: Proposed new time +X-LINAGORA-Copy-Delivery-Done: 1 +From: Dat Dang +To: Tuan Dat DANG +Content-Type: multipart/mixed; boundary="0000000000003367f00632cda27b" +X-SF-RX-Return-Path: +X-SF-Originating-IP: 209.85.219.74 +X-SF-Score: 3.3 +X-SF-SRS: Sender address rewritten from to +X-SF-Domain: qgwlxqsyyb + +--0000000000003367f00632cda27b +Content-Type: multipart/alternative; boundary="0000000000003367ee0632cda279" + +--0000000000003367ee0632cda279 +Content-Type: text/plain; charset="UTF-8"; format=flowed; delsp=yes +Content-Transfer-Encoding: base64 + +RGF0IERhbmcgaGFzIHJlcGxpZWQgIk1heWJlIiB0byB0aGlzIGludml0YXRpb24gYW5kIHByb3Bv +c2VkIGEgbmV3IHRpbWU6DQpUdWUgQXByIDE1LCAyMDI1IDU6MzBwbSDigJMgNnBtDQoNCkNvbWUg +Zm9yIGEgY2hhdA0KVHVlc2RheSBBcHIgMTUsIDIwMjUg4ouFIDVwbSDigJMgNTozMHBtDQpJbmRv +Y2hpbmEgVGltZSAtIEhvIENoaSBNaW5oIENpdHkNCg0KDQoNCkF0dGFjaG1lbnRzDQphY2NvdW50 +LW11bHRpcGxlLnBuZyA/dmlldz1hdHQmdGg9MTk2MzhiYzcwNDQ3N2JkNSZhdHRpZD0wLjAuMC4x +JmRpc3A9YXR0ZCZ6dw0KY2xvY2sucG5nID92aWV3PWF0dCZ0aD0xOTYzOGJjNzA0NDc3YmQ1JmF0 +dGlkPTAuMC4wLjImZGlzcD1hdHRkJnp3DQpmb2xkZXItZG93bmxvYWQucG5nID92aWV3PWF0dCZ0 +aD0xOTYzOGJjNzA0NDc3YmQ1JmF0dGlkPTAuMC4wLjMmZGlzcD1hdHRkJnp3DQpmb3JtYXQtYWxp +Z24tanVzdGlmeS5wbmcgP3ZpZXc9YXR0JnRoPTE5NjM4YmM3MDQ0NzdiZDUmYXR0aWQ9MC4wLjAu +NCZkaXNwPWF0dGQmencNCmxvZ28ucG5nID92aWV3PWF0dCZ0aD0xOTYzOGJjNzA0NDc3YmQ1JmF0 +dGlkPTAuMC4wLjUmZGlzcD1hdHRkJnp3DQptYXAtbWFya2VyLnBuZyA/dmlldz1hdHQmdGg9MTk2 +MzhiYzcwNDQ3N2JkNSZhdHRpZD0wLjAuMC42JmRpc3A9YXR0ZCZ6dw0KcmVzb3VyY2UucG5nID92 +aWV3PWF0dCZ0aD0xOTYzOGJjNzA0NDc3YmQ1JmF0dGlkPTAuMC4wLjcmZGlzcD1hdHRkJnp3DQp0 +by5wbmcgP3ZpZXc9YXR0JnRoPTE5NjM4YmM3MDQ0NzdiZDUmYXR0aWQ9MC4wLjAuOCZkaXNwPWF0 +dGQmencNCnZpZGVvY29uZmVyZW5jZS5wbmcgP3ZpZXc9YXR0JnRoPTE5NjM4YmM3MDQ0NzdiZDUm +YXR0aWQ9MC4wLjAuOSZkaXNwPWF0dGQmencNCg0KT3JnYW5pemVyDQpUdWFuIERhdCBEQU5HDQp0 +ZGRhbmdAbGluYWdvcmEuY29tDQoNCkd1ZXN0cw0KVHVhbiBEYXQgREFORyAtIG9yZ2FuaXplcg0K +RGF0IERhbmcgLSBjcmVhdG9yDQpWaWV3IGFsbCBndWVzdCBpbmZvICANCmh0dHBzOi8vY2FsZW5k +YXIuZ29vZ2xlLmNvbS9jYWxlbmRhci9ldmVudD9hY3Rpb249VklFVyZlaWQ9WDJNMGJ6WTBaVGx1 +WTJ0eU5tRmlPV3BqWTNNek5HSTVhMk5zYWpNeVlqbHdOekJ3YW1WaU9XdzJjR2hxTW1Sb2J6YzBj +V3BwY0docVkyY2dkR1JrWVc1blFHeHBibUZuYjNKaExtTnZiUSZ0b2s9TVRramRHUmtZVzVuUUd4 +cGJtRm5iM0poTG1OdmJXWTBOVGRqTVRVelpESmlaV1l5TUdSaVkyUTNaalJrTVRneE0yRmxaalV4 +Tm1Rek5HSTBNRFkmY3R6PUFzaWElMkZIb19DaGlfTWluaCZobD1lbiZlcz0wDQoNCn5+Ly9+fg0K +SW52aXRhdGlvbiBmcm9tIEdvb2dsZSBDYWxlbmRhcjogaHR0cHM6Ly9jYWxlbmRhci5nb29nbGUu +Y29tL2NhbGVuZGFyLw0KDQpZb3UgYXJlIHJlY2VpdmluZyB0aGlzIGVtYWlsIGJlY2F1c2UgeW91 +IGFyZSBhbiBhdHRlbmRlZSBvbiB0aGUgZXZlbnQuDQoNCkZvcndhcmRpbmcgdGhpcyBpbnZpdGF0 +aW9uIGNvdWxkIGFsbG93IGFueSByZWNpcGllbnQgdG8gc2VuZCBhIHJlc3BvbnNlIHRvICANCnRo +ZSBvcmdhbml6ZXIsIGJlIGFkZGVkIHRvIHRoZSBndWVzdCBsaXN0LCBpbnZpdGUgb3RoZXJzIHJl +Z2FyZGxlc3Mgb2YgIA0KdGhlaXIgb3duIGludml0YXRpb24gc3RhdHVzLCBvciBtb2RpZnkgeW91 +ciBSU1ZQLg0KDQpMZWFybiBtb3JlIGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2NhbGVuZGFy +L2Fuc3dlci8zNzEzNSNmb3J3YXJkaW5nDQo= +--0000000000003367ee0632cda279 +Content-Type: text/html; charset="UTF-8" +Content-Transfer-Encoding: quoted-printable + + + + + + + + + + + + + =20 + + =20 + + =20 + + =20 + + + + + + + + + Come for a chat
 
<= +!--[if mso | IE]>
= +
Dat Dang has replied "Maybe" to this invitation and prop= +osed a new time:
Tue Apr 15, 2025 5:30pm =E2=80=93 6pm
 = +
= +

When

Tuesday = +Apr 15, 2025 =E2=8B=85 5pm =E2=80=93 5:30pm (Indochina Time - Ho Chi Minh C= +ity)

Guests

= +
= +Tuan Dat DANG<= +meta itemprop=3D"email" content=3D"tddang@linagora.com"/> - organizer
Dat Dang - creator
View all guest info
<= +/td>

Invitation from Google Cale= +ndar

You are receiving this email because you are an attendee on = +the event.

Forwarding this invitation could allow any recipient to se= +nd a response to the organizer, be added to the guest list, invite others r= +egardless of their own invitation status, or modify your RSVP. Learn more

<= +/td>
+--0000000000003367ee0632cda279 +Content-Type: text/calendar; charset="UTF-8"; method=COUNTER +Content-Transfer-Encoding: 7bit + +BEGIN:VCALENDAR +PRODID:-//Google Inc//Google Calendar 70.9054//EN +VERSION:2.0 +CALSCALE:GREGORIAN +METHOD:COUNTER +BEGIN:VEVENT +DTSTART:20250415T103000Z +DTEND:20250415T110000Z +DTSTAMP:20250415T091711Z +ORGANIZER;CN=Tuan Dat DANG:mailto:tddang@linagora.com +UID:a0b97e6e-3c82-4ef1-9837-56c168959f3d +ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CN=Dat D + ang;X-NUM-GUESTS=0:mailto:tddang1995@gmail.com +CREATED:20250415T091640Z +DESCRIPTION: +LAST-MODIFIED:20250415T091707Z +LOCATION: +SEQUENCE:0 +STATUS:CONFIRMED +SUMMARY:Come for a chat +TRANSP:OPAQUE +ATTACH;FILENAME=account-multiple.png:?view=att&th=19638bc704477bd5&attid=0. + 0.0.1&disp=attd&zw +ATTACH;FILENAME=clock.png:?view=att&th=19638bc704477bd5&attid=0.0.0.2&disp= + attd&zw +ATTACH;FILENAME=folder-download.png:?view=att&th=19638bc704477bd5&attid=0.0 + .0.3&disp=attd&zw +ATTACH;FILENAME=format-align-justify.png:?view=att&th=19638bc704477bd5&atti + d=0.0.0.4&disp=attd&zw +ATTACH;FILENAME=logo.png:?view=att&th=19638bc704477bd5&attid=0.0.0.5&disp=a + ttd&zw +ATTACH;FILENAME=map-marker.png:?view=att&th=19638bc704477bd5&attid=0.0.0.6& + disp=attd&zw +ATTACH;FILENAME=resource.png:?view=att&th=19638bc704477bd5&attid=0.0.0.7&di + sp=attd&zw +ATTACH;FILENAME=to.png:?view=att&th=19638bc704477bd5&attid=0.0.0.8&disp=att + d&zw +ATTACH;FILENAME=videoconference.png:?view=att&th=19638bc704477bd5&attid=0.0 + .0.9&disp=attd&zw +END:VEVENT +END:VCALENDAR + +--0000000000003367ee0632cda279-- +--0000000000003367f00632cda27b +Content-Type: application/ics; name="invite.ics" +Content-Disposition: attachment; filename="invite.ics" +Content-Transfer-Encoding: base64 + +QkVHSU46VkNBTEVOREFSDQpQUk9ESUQ6LS8vR29vZ2xlIEluYy8vR29vZ2xlIENhbGVuZGFyIDcw +LjkwNTQvL0VODQpWRVJTSU9OOjIuMA0KQ0FMU0NBTEU6R1JFR09SSUFODQpNRVRIT0Q6Q09VTlRF +Ug0KQkVHSU46VkVWRU5UDQpEVFNUQVJUOjIwMjUwNDE1VDEwMzAwMFoNCkRURU5EOjIwMjUwNDE1 +VDExMDAwMFoNCkRUU1RBTVA6MjAyNTA0MTVUMDkxNzExWg0KT1JHQU5JWkVSO0NOPVR1YW4gRGF0 +IERBTkc6bWFpbHRvOnRkZGFuZ0BsaW5hZ29yYS5jb20NClVJRDphMGI5N2U2ZS0zYzgyLTRlZjEt +OTgzNy01NmMxNjg5NTlmM2QNCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBB +UlRJQ0lQQU5UO1BBUlRTVEFUPVRFTlRBVElWRTtDTj1EYXQgRA0KIGFuZztYLU5VTS1HVUVTVFM9 +MDptYWlsdG86dGRkYW5nMTk5NUBnbWFpbC5jb20NCkNSRUFURUQ6MjAyNTA0MTVUMDkxNjQwWg0K +REVTQ1JJUFRJT046DQpMQVNULU1PRElGSUVEOjIwMjUwNDE1VDA5MTcwN1oNCkxPQ0FUSU9OOg0K +U0VRVUVOQ0U6MA0KU1RBVFVTOkNPTkZJUk1FRA0KU1VNTUFSWTpDb21lIGZvciBhIGNoYXQNClRS +QU5TUDpPUEFRVUUNCkFUVEFDSDtGSUxFTkFNRT1hY2NvdW50LW11bHRpcGxlLnBuZzo/dmlldz1h +dHQmdGg9MTk2MzhiYzcwNDQ3N2JkNSZhdHRpZD0wLg0KIDAuMC4xJmRpc3A9YXR0ZCZ6dw0KQVRU +QUNIO0ZJTEVOQU1FPWNsb2NrLnBuZzo/dmlldz1hdHQmdGg9MTk2MzhiYzcwNDQ3N2JkNSZhdHRp +ZD0wLjAuMC4yJmRpc3A9DQogYXR0ZCZ6dw0KQVRUQUNIO0ZJTEVOQU1FPWZvbGRlci1kb3dubG9h +ZC5wbmc6P3ZpZXc9YXR0JnRoPTE5NjM4YmM3MDQ0NzdiZDUmYXR0aWQ9MC4wDQogLjAuMyZkaXNw +PWF0dGQmencNCkFUVEFDSDtGSUxFTkFNRT1mb3JtYXQtYWxpZ24tanVzdGlmeS5wbmc6P3ZpZXc9 +YXR0JnRoPTE5NjM4YmM3MDQ0NzdiZDUmYXR0aQ0KIGQ9MC4wLjAuNCZkaXNwPWF0dGQmencNCkFU +VEFDSDtGSUxFTkFNRT1sb2dvLnBuZzo/dmlldz1hdHQmdGg9MTk2MzhiYzcwNDQ3N2JkNSZhdHRp +ZD0wLjAuMC41JmRpc3A9YQ0KIHR0ZCZ6dw0KQVRUQUNIO0ZJTEVOQU1FPW1hcC1tYXJrZXIucG5n +Oj92aWV3PWF0dCZ0aD0xOTYzOGJjNzA0NDc3YmQ1JmF0dGlkPTAuMC4wLjYmDQogZGlzcD1hdHRk +Jnp3DQpBVFRBQ0g7RklMRU5BTUU9cmVzb3VyY2UucG5nOj92aWV3PWF0dCZ0aD0xOTYzOGJjNzA0 +NDc3YmQ1JmF0dGlkPTAuMC4wLjcmZGkNCiBzcD1hdHRkJnp3DQpBVFRBQ0g7RklMRU5BTUU9dG8u +cG5nOj92aWV3PWF0dCZ0aD0xOTYzOGJjNzA0NDc3YmQ1JmF0dGlkPTAuMC4wLjgmZGlzcD1hdHQN +CiBkJnp3DQpBVFRBQ0g7RklMRU5BTUU9dmlkZW9jb25mZXJlbmNlLnBuZzo/dmlldz1hdHQmdGg9 +MTk2MzhiYzcwNDQ3N2JkNSZhdHRpZD0wLjANCiAuMC45JmRpc3A9YXR0ZCZ6dw0KRU5EOlZFVkVO +VA0KRU5EOlZDQUxFTkRBUg0K +--0000000000003367f00632cda27b-- + diff --git a/provisioning/integration_test/provisioning.sh b/provisioning/integration_test/provisioning.sh index 001f5fc9d..0c220373c 100755 --- a/provisioning/integration_test/provisioning.sh +++ b/provisioning/integration_test/provisioning.sh @@ -2,7 +2,7 @@ # Define users and folders users=("alice" "bob" "brian" "charlotte" "david" "emma") -bobFolders=("Search Emails" "Forward Emails" "Disposition" "MailBase64") +bobFolders=("Search Emails" "Forward Emails" "Disposition" "MailBase64" "Calendar") # Add users for user in "${users[@]}"; do @@ -61,4 +61,9 @@ james-cli ImportEml \#private "bob@example.com" "Disposition" "/root/conf/integr # For test reply email with image base64 # Import email into 'MailBase64' folder for user Bob echo "Importing 0.eml into 'MailBase64' folder for user bob" -james-cli ImportEml \#private "bob@example.com" "MailBase64" "/root/conf/integration_test/eml/reply_email_with_image_base64/0.eml" \ No newline at end of file +james-cli ImportEml \#private "bob@example.com" "MailBase64" "/root/conf/integration_test/eml/reply_email_with_image_base64/0.eml" + +# For test calendar event +# Import email into 'Calendar' folder for user Bob +echo "Importing calendar eml into 'Calendar' folder for user bob" +james-cli ImportEml \#private "bob@example.com" "Calendar" "/root/conf/integration_test/eml/calendar/calendar_counter.eml" \ No newline at end of file