test(live): cover more gmail settings
This commit is contained in:
parent
432e4887a6
commit
ba3f507ffa
@ -44,9 +44,42 @@ PY
|
||||
run_required "calendar" "calendar delete event" gog calendar delete primary "$ev_id" --force >/dev/null
|
||||
|
||||
if ! skip "calendar-enterprise"; then
|
||||
run_optional "calendar-enterprise" "calendar focus-time" gog calendar create primary --event-type focus-time --from "$START" --to "$END" --json >/dev/null 2>&1 || true
|
||||
run_optional "calendar-enterprise" "calendar out-of-office" gog calendar create primary --event-type out-of-office --from "$DAY1" --to "$DAY2" --all-day --json >/dev/null 2>&1 || true
|
||||
run_optional "calendar-enterprise" "calendar working-location" gog calendar create primary --event-type working-location --working-location-type office --working-office-label "HQ" --from "$DAY1" --to "$DAY2" --json >/dev/null 2>&1 || true
|
||||
local focus_json focus_id ooo_json ooo_id wl_json wl_id
|
||||
focus_json=$(gog calendar create primary --event-type focus-time --from "$START" --to "$END" --json 2>/dev/null || true)
|
||||
if [ -n "$focus_json" ]; then
|
||||
focus_id=$(extract_id "$focus_json")
|
||||
else
|
||||
focus_id=""
|
||||
fi
|
||||
if [ -n "$focus_id" ]; then
|
||||
run_optional "calendar-enterprise" "calendar delete focus-time" gog calendar delete primary "$focus_id" --force >/dev/null
|
||||
else
|
||||
echo "==> calendar focus-time (skipped/failed)"
|
||||
fi
|
||||
|
||||
ooo_json=$(gog calendar create primary --event-type out-of-office --from "$DAY1" --to "$DAY2" --all-day --json 2>/dev/null || true)
|
||||
if [ -n "$ooo_json" ]; then
|
||||
ooo_id=$(extract_id "$ooo_json")
|
||||
else
|
||||
ooo_id=""
|
||||
fi
|
||||
if [ -n "$ooo_id" ]; then
|
||||
run_optional "calendar-enterprise" "calendar delete out-of-office" gog calendar delete primary "$ooo_id" --force >/dev/null
|
||||
else
|
||||
echo "==> calendar out-of-office (skipped/failed)"
|
||||
fi
|
||||
|
||||
wl_json=$(gog calendar create primary --event-type working-location --working-location-type office --working-office-label "HQ" --from "$DAY1" --to "$DAY2" --json 2>/dev/null || true)
|
||||
if [ -n "$wl_json" ]; then
|
||||
wl_id=$(extract_id "$wl_json")
|
||||
else
|
||||
wl_id=""
|
||||
fi
|
||||
if [ -n "$wl_id" ]; then
|
||||
run_optional "calendar-enterprise" "calendar delete working-location" gog calendar delete primary "$wl_id" --force >/dev/null
|
||||
else
|
||||
echo "==> calendar working-location (skipped/failed)"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${GOG_LIVE_CALENDAR_RECURRENCE:-}" ]; then
|
||||
|
||||
@ -54,15 +54,49 @@ run_gmail_tests() {
|
||||
run_required "gmail" "gmail labels get" gog gmail labels get INBOX --json >/dev/null
|
||||
|
||||
if ! skip "gmail-settings"; then
|
||||
run_required "gmail" "gmail settings sendas list" gog gmail settings sendas list --json >/dev/null
|
||||
local sendas_json sendas_email
|
||||
echo "==> gmail settings sendas list"
|
||||
sendas_json=$(gog gmail settings sendas list --json)
|
||||
sendas_email=$(extract_field "$sendas_json" sendAsEmail)
|
||||
if [ -n "$sendas_email" ]; then
|
||||
run_required "gmail" "gmail settings sendas get" gog gmail settings sendas get "$sendas_email" --json >/dev/null
|
||||
else
|
||||
echo "==> gmail settings sendas get (skipped; no aliases)"
|
||||
fi
|
||||
run_required "gmail" "gmail settings vacation get" gog gmail settings vacation get --json >/dev/null
|
||||
run_required "gmail" "gmail settings filters list" gog gmail settings filters list --json >/dev/null
|
||||
if is_consumer_account "$ACCOUNT"; then
|
||||
echo "==> gmail delegates (skipped; Workspace/SA only)"
|
||||
else
|
||||
run_optional "gmail-delegates" "gmail settings delegates list" gog gmail settings delegates list --json >/dev/null
|
||||
local delegates_json delegate_email
|
||||
echo "==> gmail settings delegates list (optional)"
|
||||
if delegates_json=$(gog gmail settings delegates list --json); then
|
||||
echo "ok"
|
||||
else
|
||||
echo "skipped/failed"
|
||||
if [ "${STRICT:-false}" = true ]; then
|
||||
return 1
|
||||
fi
|
||||
delegates_json=""
|
||||
fi
|
||||
if [ -n "$delegates_json" ]; then
|
||||
delegate_email=$(extract_field "$delegates_json" delegateEmail)
|
||||
if [ -n "$delegate_email" ]; then
|
||||
run_optional "gmail-delegates" "gmail settings delegates get" gog gmail settings delegates get "$delegate_email" --json >/dev/null
|
||||
else
|
||||
echo "==> gmail settings delegates get (skipped; no delegates)"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
local forwarding_json forwarding_email
|
||||
echo "==> gmail settings forwarding list"
|
||||
forwarding_json=$(gog gmail settings forwarding list --json)
|
||||
forwarding_email=$(extract_field "$forwarding_json" forwardingEmail)
|
||||
if [ -n "$forwarding_email" ]; then
|
||||
run_required "gmail" "gmail settings forwarding get" gog gmail settings forwarding get "$forwarding_email" --json >/dev/null
|
||||
else
|
||||
echo "==> gmail settings forwarding get (skipped; no forwarding)"
|
||||
fi
|
||||
run_required "gmail" "gmail settings forwarding list" gog gmail settings forwarding list --json >/dev/null
|
||||
run_required "gmail" "gmail settings autoforward get" gog gmail settings autoforward get --json >/dev/null
|
||||
fi
|
||||
|
||||
@ -82,12 +116,20 @@ run_gmail_tests() {
|
||||
draft_json=$(gog gmail drafts create --to "$EMAIL_TEST" --subject "gogcli smoke draft $TS" --body "smoke draft" --json)
|
||||
draft_id=$(extract_field "$draft_json" draftId)
|
||||
[ -n "$draft_id" ] || { echo "Failed to parse draft id" >&2; exit 1; }
|
||||
run_required "gmail" "gmail drafts list" gog gmail drafts list --json --max 1 >/dev/null
|
||||
run_required "gmail" "gmail drafts get" gog gmail drafts get "$draft_id" --json >/dev/null
|
||||
run_required "gmail" "gmail drafts update" gog gmail drafts update "$draft_id" --subject "gogcli smoke draft updated $TS" --body "updated" --json >/dev/null
|
||||
sent_draft_json=$(gog gmail drafts send "$draft_id" --json)
|
||||
sent_draft_msg_id=$(extract_field "$sent_draft_json" messageId)
|
||||
[ -n "$sent_draft_msg_id" ] || { echo "Failed to parse sent draft message id" >&2; exit 1; }
|
||||
|
||||
local delete_draft_json delete_draft_id
|
||||
delete_draft_json=$(gog gmail drafts create --to "$EMAIL_TEST" --subject "gogcli smoke draft delete $TS" --body "delete" --json)
|
||||
delete_draft_id=$(extract_field "$delete_draft_json" draftId)
|
||||
if [ -n "$delete_draft_id" ]; then
|
||||
run_required "gmail" "gmail drafts delete" gog --force gmail drafts delete "$delete_draft_id" --json >/dev/null
|
||||
fi
|
||||
|
||||
local body_file send_json send_msg_id send_thread_id
|
||||
body_file="$LIVE_TMP/gmail-body-$TS.txt"
|
||||
printf "hello from gogcli %s\n" "$TS" >"$body_file"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user