public void BillingPermissionIsMutuallyExclusiveWhenOtherPermissionsAreAddedToBuilderAlreadyContainingBilling() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Billing); Assert.Throws <InvalidOperationException>(() => sb.AddPermissionsFor(SendGridPermission.Alerts)); }
public void CreateSubusers() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Subusers); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 21, "Subusers should have 21 scopes"); Assert.Contains("subusers.create", scopes); Assert.Contains("subusers.delete", scopes); Assert.Contains("subusers.read", scopes); Assert.Contains("subusers.update", scopes); Assert.Contains("subusers.credits.create", scopes); Assert.Contains("subusers.credits.delete", scopes); Assert.Contains("subusers.credits.read", scopes); Assert.Contains("subusers.credits.update", scopes); Assert.Contains("subusers.credits.remaining.create", scopes); Assert.Contains("subusers.credits.remaining.delete", scopes); Assert.Contains("subusers.credits.remaining.read", scopes); Assert.Contains("subusers.credits.remaining.update", scopes); Assert.Contains("subusers.monitor.create", scopes); Assert.Contains("subusers.monitor.delete", scopes); Assert.Contains("subusers.monitor.read", scopes); Assert.Contains("subusers.monitor.update", scopes); Assert.Contains("subusers.reputations.read", scopes); Assert.Contains("subusers.stats.read", scopes); Assert.Contains("subusers.stats.monthly.read", scopes); Assert.Contains("subusers.stats.sums.read", scopes); Assert.Contains("subusers.summary.read", scopes); }
public void CreateSuppressions() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Suppressions); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 24, "Suppressions should have 24 scopes"); Assert.Contains("suppression.create", scopes); Assert.Contains("suppression.delete", scopes); Assert.Contains("suppression.read", scopes); Assert.Contains("suppression.update", scopes); Assert.Contains("suppression.bounces.create", scopes); Assert.Contains("suppression.bounces.read", scopes); Assert.Contains("suppression.bounces.update", scopes); Assert.Contains("suppression.bounces.delete", scopes); Assert.Contains("suppression.blocks.create", scopes); Assert.Contains("suppression.blocks.read", scopes); Assert.Contains("suppression.blocks.update", scopes); Assert.Contains("suppression.blocks.delete", scopes); Assert.Contains("suppression.invalid_emails.create", scopes); Assert.Contains("suppression.invalid_emails.read", scopes); Assert.Contains("suppression.invalid_emails.update", scopes); Assert.Contains("suppression.invalid_emails.delete", scopes); Assert.Contains("suppression.spam_reports.create", scopes); Assert.Contains("suppression.spam_reports.read", scopes); Assert.Contains("suppression.spam_reports.update", scopes); Assert.Contains("suppression.spam_reports.delete", scopes); Assert.Contains("suppression.unsubscribes.create", scopes); Assert.Contains("suppression.unsubscribes.read", scopes); Assert.Contains("suppression.unsubscribes.update", scopes); Assert.Contains("suppression.unsubscribes.delete", scopes); }
public void CreateUserSettings() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.UserSettings); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 20, "User Settings should have 20 scopes"); Assert.Contains("user.account.read", scopes); Assert.Contains("user.credits.read", scopes); Assert.Contains("user.email.create", scopes); Assert.Contains("user.email.delete", scopes); Assert.Contains("user.email.read", scopes); Assert.Contains("user.email.update", scopes); Assert.Contains("user.multifactor_authentication.create", scopes); Assert.Contains("user.multifactor_authentication.delete", scopes); Assert.Contains("user.multifactor_authentication.read", scopes); Assert.Contains("user.multifactor_authentication.update", scopes); Assert.Contains("user.password.read", scopes); Assert.Contains("user.password.update", scopes); Assert.Contains("user.profile.read", scopes); Assert.Contains("user.profile.update", scopes); Assert.Contains("user.settings.enforced_tls.read", scopes); Assert.Contains("user.settings.enforced_tls.update", scopes); Assert.Contains("user.timezone.read", scopes); Assert.Contains("user.timezone.update", scopes); Assert.Contains("user.username.read", scopes); Assert.Contains("user.username.update", scopes); }
public void BillingPermissionIsMutuallyExclusiveWhenIncludedAndBuilderAlreadyContainsOtherPermissions() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Alerts); Assert.Throws <InvalidOperationException>(() => sb.Include("billing.create")); }
public async Task CallsApiWithBuiltScopes() { string[] requestedScopes = null; string requestedApiKeyName = null; var mockClient = new Mock <ISendGridClient>(); mockClient.Setup(x => x.RequestAsync(BaseClient.Method.POST, It.IsAny <string>(), null, "api_keys", default)) .Callback <BaseClient.Method, string, string, string, CancellationToken>((method, body, query, path, token) => { JObject json = JsonConvert.DeserializeObject(body) as JObject; requestedScopes = (json["scopes"] as JArray).Select(x => x.Value <string>()).ToArray(); requestedApiKeyName = (json["name"]).Value <string>(); }) .ReturnsAsync(new Response(HttpStatusCode.Created, null, null)); var builder = new SendGridPermissionsBuilder(); builder.AddPermissionsFor(SendGridPermission.Alerts); var response = await mockClient.Object.CreateApiKey(builder, "Alerts Test"); Assert.Equal(4, requestedScopes.Length); Assert.Contains("alerts.create", requestedScopes); Assert.Contains("alerts.delete", requestedScopes); Assert.Contains("alerts.read", requestedScopes); Assert.Contains("alerts.update", requestedScopes); Assert.Equal("Alerts Test", requestedApiKeyName); }
public void CanFilterByFunc() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.MailSettings); sb.Exclude(scope => scope.Contains("spam")); var scopes = sb.Build().ToArray(); Assert.DoesNotContain(scopes, x => x.Contains("spam")); }
public void CanFilterByList() { var apiScopes = new[] { "alerts.read" }; var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Alerts); sb.Exclude(scope => !apiScopes.Contains(scope)); var scopes = sb.Build().ToArray(); Assert.Single(scopes); Assert.Contains(scopes, x => x == "alerts.read"); }
public void CreatePartnerSettings() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.PartnerSettings); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 3, "Partner Settings should have 3 scopes"); Assert.Contains("partner_settings.new_relic.read", scopes); Assert.Contains("partner_settings.new_relic.update", scopes); Assert.Contains("partner_settings.read", scopes); }
public void AddPermissionWithReadOnlyScopeOptionIncludesOnlyReadScopes() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Templates, ScopeOptions.ReadOnly); var scopes = sb.Build().ToArray(); Assert.Equal(3, scopes.Length); Assert.Contains("templates.read", scopes); Assert.Contains("templates.versions.activate.read", scopes); Assert.Contains("templates.versions.read", scopes); }
public void CreateMarketingCampaigns() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.MarketingCampaigns); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 4, "Marketing Campaigns should have 4 scopes"); Assert.Contains("marketing_campaigns.create", scopes); Assert.Contains("marketing_campaigns.delete", scopes); Assert.Contains("marketing_campaigns.read", scopes); Assert.Contains("marketing_campaigns.update", scopes); }
public void CreateTeammates() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Teammates); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 4, "Teammates should have 4 scopes"); Assert.Contains("teammates.create", scopes); Assert.Contains("teammates.read", scopes); Assert.Contains("teammates.update", scopes); Assert.Contains("teammates.delete", scopes); }
public void CreateScheduledSends() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.ScheduledSends); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 4, "Scheduled Sends should have 4 scopes"); Assert.Contains("user.scheduled_sends.create", scopes); Assert.Contains("user.scheduled_sends.delete", scopes); Assert.Contains("user.scheduled_sends.read", scopes); Assert.Contains("user.scheduled_sends.update", scopes); }
public void CreateDomainAuthentication() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.DomainAuthentication); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 4, "Domain Authentication should have 4 scopes"); Assert.Contains("whitelabel.create", scopes); Assert.Contains("whitelabel.delete", scopes); Assert.Contains("whitelabel.read", scopes); Assert.Contains("whitelabel.update", scopes); }
public void BillingCanBeAddedToBilling() { var sb = new SendGridPermissionsBuilder(); sb.Include("billing.update"); sb.AddPermissionsFor(SendGridPermission.Billing, ScopeOptions.ReadOnly); sb.Include("billing.create"); var scopes = sb.Build().ToArray();; Assert.Equal(3, scopes.Length); Assert.Contains("billing.update", scopes); Assert.Contains("billing.read", scopes); Assert.Contains("billing.create", scopes); }
public void CreateAsmGroups() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.ASMGroups); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 4, "Asm Groups should have 4 scopes"); Assert.Contains("asm.groups.create", scopes); Assert.Contains("asm.groups.delete", scopes); Assert.Contains("asm.groups.read", scopes); Assert.Contains("asm.groups.update", scopes); }
public void CreateBilling() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Billing); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 4, "Billing should have 4 scopes"); Assert.Contains("billing.create", scopes); Assert.Contains("billing.delete", scopes); Assert.Contains("billing.read", scopes); Assert.Contains("billing.update", scopes); }
public void CreateReverseDNS() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.ReverseDNS); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 5, "Reverse DNS should have 5 scopes"); Assert.Contains("access_settings.activity.read", scopes); Assert.Contains("access_settings.whitelist.create", scopes); Assert.Contains("access_settings.whitelist.delete", scopes); Assert.Contains("access_settings.whitelist.read", scopes); Assert.Contains("access_settings.whitelist.update", scopes); }
public void CreateMail() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Mail); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 5, "Mail should have 5 scopes"); Assert.Contains("mail.batch.create", scopes); Assert.Contains("mail.batch.delete", scopes); Assert.Contains("mail.batch.read", scopes); Assert.Contains("mail.batch.update", scopes); Assert.Contains("mail.send", scopes); }
public void CreateCategories() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Categories); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 6, "Categories should have 6 scopes"); Assert.Contains("categories.create", scopes); Assert.Contains("categories.delete", scopes); Assert.Contains("categories.read", scopes); Assert.Contains("categories.update", scopes); Assert.Contains("categories.stats.read", scopes); Assert.Contains("categories.stats.sums.read", scopes); }
public void CreateTracking() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Tracking); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 9, "Tracking should have 9 scopes"); Assert.Contains("tracking_settings.click.read", scopes); Assert.Contains("tracking_settings.click.update", scopes); Assert.Contains("tracking_settings.google_analytics.read", scopes); Assert.Contains("tracking_settings.google_analytics.update", scopes); Assert.Contains("tracking_settings.open.read", scopes); Assert.Contains("tracking_settings.open.update", scopes); Assert.Contains("tracking_settings.read", scopes); Assert.Contains("tracking_settings.subscription.read", scopes); Assert.Contains("tracking_settings.subscription.update", scopes); }
public void CreateWebhooks() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Webhook); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 10, "Webhook should have 10 scopes"); Assert.Contains("user.webhooks.event.settings.read", scopes); Assert.Contains("user.webhooks.event.settings.update", scopes); Assert.Contains("user.webhooks.event.test.create", scopes); Assert.Contains("user.webhooks.event.test.read", scopes); Assert.Contains("user.webhooks.event.test.update", scopes); Assert.Contains("user.webhooks.parse.settings.create", scopes); Assert.Contains("user.webhooks.parse.settings.delete", scopes); Assert.Contains("user.webhooks.parse.settings.read", scopes); Assert.Contains("user.webhooks.parse.settings.update", scopes); Assert.Contains("user.webhooks.parse.stats.read", scopes); }
public void CreateTemplates() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Templates); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 12, "Templates should have 12 scopes"); Assert.Contains("templates.create", scopes); Assert.Contains("templates.delete", scopes); Assert.Contains("templates.read", scopes); Assert.Contains("templates.update", scopes); Assert.Contains("templates.versions.activate.create", scopes); Assert.Contains("templates.versions.activate.delete", scopes); Assert.Contains("templates.versions.activate.read", scopes); Assert.Contains("templates.versions.activate.update", scopes); Assert.Contains("templates.versions.create", scopes); Assert.Contains("templates.versions.delete", scopes); Assert.Contains("templates.versions.read", scopes); Assert.Contains("templates.versions.update", scopes); }
public void CreateMailSettings() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.MailSettings); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 12, "Mail Settings should have 12 scopes"); Assert.Contains("mail_settings.address_whitelist.read", scopes); Assert.Contains("mail_settings.address_whitelist.update", scopes); Assert.Contains("mail_settings.bounce_purge.read", scopes); Assert.Contains("mail_settings.bounce_purge.update", scopes); Assert.Contains("mail_settings.footer.read", scopes); Assert.Contains("mail_settings.footer.update", scopes); Assert.Contains("mail_settings.forward_bounce.read", scopes); Assert.Contains("mail_settings.forward_bounce.update", scopes); Assert.Contains("mail_settings.forward_spam.read", scopes); Assert.Contains("mail_settings.forward_spam.update", scopes); Assert.Contains("mail_settings.template.read", scopes); Assert.Contains("mail_settings.template.update", scopes); }
public void CreateStats() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Stats); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 12, "read-only stats should have 7 scopes"); Assert.Contains("email_activity.read", scopes); Assert.Contains("stats.read", scopes); Assert.Contains("stats.global.read", scopes); Assert.Contains("browsers.stats.read", scopes); Assert.Contains("devices.stats.read", scopes); Assert.Contains("geo.stats.read", scopes); Assert.Contains("mailbox_providers.stats.read", scopes); Assert.Contains("clients.desktop.stats.read", scopes); Assert.Contains("clients.phone.stats.read", scopes); Assert.Contains("clients.stats.read", scopes); Assert.Contains("clients.tablet.stats.read", scopes); Assert.Contains("clients.webmail.stats.read", scopes); }
public void CreateReadOnlySupressions() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.IPs); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 14, "IPs should have 14 scopes"); Assert.Contains("ips.assigned.read", scopes); Assert.Contains("ips.read", scopes); Assert.Contains("ips.pools.create", scopes); Assert.Contains("ips.pools.delete", scopes); Assert.Contains("ips.pools.read", scopes); Assert.Contains("ips.pools.update", scopes); Assert.Contains("ips.pools.ips.create", scopes); Assert.Contains("ips.pools.ips.delete", scopes); Assert.Contains("ips.pools.ips.read", scopes); Assert.Contains("ips.pools.ips.update", scopes); Assert.Contains("ips.warmup.create", scopes); Assert.Contains("ips.warmup.delete", scopes); Assert.Contains("ips.warmup.read", scopes); Assert.Contains("ips.warmup.update", scopes); }
public void CreateAdminApiKeyScopes() { var sb = new SendGridPermissionsBuilder(); sb.AddPermissionsFor(SendGridPermission.Admin); var scopes = sb.Build().ToArray(); Assert.True(scopes.Length == 187, "Admin should have 187 scopes"); Assert.Contains("access_settings.activity.read", scopes); Assert.Contains("access_settings.whitelist.create", scopes); Assert.Contains("access_settings.whitelist.delete", scopes); Assert.Contains("access_settings.whitelist.read", scopes); Assert.Contains("access_settings.whitelist.update", scopes); Assert.Contains("alerts.create", scopes); Assert.Contains("alerts.delete", scopes); Assert.Contains("alerts.read", scopes); Assert.Contains("alerts.update", scopes); Assert.Contains("api_keys.create", scopes); Assert.Contains("api_keys.delete", scopes); Assert.Contains("api_keys.read", scopes); Assert.Contains("api_keys.update", scopes); Assert.Contains("asm.groups.create", scopes); Assert.Contains("asm.groups.delete", scopes); Assert.Contains("asm.groups.read", scopes); Assert.Contains("asm.groups.update", scopes); Assert.Contains("billing.create", scopes); Assert.Contains("billing.delete", scopes); Assert.Contains("billing.read", scopes); Assert.Contains("billing.update", scopes); Assert.Contains("browsers.stats.read", scopes); Assert.Contains("categories.create", scopes); Assert.Contains("categories.delete", scopes); Assert.Contains("categories.read", scopes); Assert.Contains("categories.stats.read", scopes); Assert.Contains("categories.stats.sums.read", scopes); Assert.Contains("categories.update", scopes); Assert.Contains("clients.desktop.stats.read", scopes); Assert.Contains("clients.phone.stats.read", scopes); Assert.Contains("clients.stats.read", scopes); Assert.Contains("clients.tablet.stats.read", scopes); Assert.Contains("clients.webmail.stats.read", scopes); Assert.Contains("devices.stats.read", scopes); Assert.Contains("email_activity.read", scopes); Assert.Contains("geo.stats.read", scopes); Assert.Contains("ips.assigned.read", scopes); Assert.Contains("ips.pools.create", scopes); Assert.Contains("ips.pools.delete", scopes); Assert.Contains("ips.pools.ips.create", scopes); Assert.Contains("ips.pools.ips.delete", scopes); Assert.Contains("ips.pools.ips.read", scopes); Assert.Contains("ips.pools.ips.update", scopes); Assert.Contains("ips.pools.read", scopes); Assert.Contains("ips.pools.update", scopes); Assert.Contains("ips.read", scopes); Assert.Contains("ips.warmup.create", scopes); Assert.Contains("ips.warmup.delete", scopes); Assert.Contains("ips.warmup.read", scopes); Assert.Contains("ips.warmup.update", scopes); Assert.Contains("mail_settings.address_whitelist.read", scopes); Assert.Contains("mail_settings.address_whitelist.update", scopes); Assert.Contains("mail_settings.bounce_purge.read", scopes); Assert.Contains("mail_settings.bounce_purge.update", scopes); Assert.Contains("mail_settings.footer.read", scopes); Assert.Contains("mail_settings.footer.update", scopes); Assert.Contains("mail_settings.forward_bounce.read", scopes); Assert.Contains("mail_settings.forward_bounce.update", scopes); Assert.Contains("mail_settings.forward_spam.read", scopes); Assert.Contains("mail_settings.forward_spam.update", scopes); Assert.Contains("mail_settings.plain_content.read", scopes); Assert.Contains("mail_settings.plain_content.update", scopes); Assert.Contains("mail_settings.read", scopes); Assert.Contains("mail_settings.template.read", scopes); Assert.Contains("mail_settings.template.update", scopes); Assert.Contains("mail.batch.create", scopes); Assert.Contains("mail.batch.delete", scopes); Assert.Contains("mail.batch.read", scopes); Assert.Contains("mail.batch.update", scopes); Assert.Contains("mail.send", scopes); Assert.Contains("mailbox_providers.stats.read", scopes); Assert.Contains("marketing_campaigns.create", scopes); Assert.Contains("marketing_campaigns.delete", scopes); Assert.Contains("marketing_campaigns.read", scopes); Assert.Contains("marketing_campaigns.update", scopes); Assert.Contains("partner_settings.new_relic.read", scopes); Assert.Contains("partner_settings.new_relic.update", scopes); Assert.Contains("partner_settings.read", scopes); Assert.Contains("stats.global.read", scopes); Assert.Contains("stats.read", scopes); Assert.Contains("subusers.create", scopes); Assert.Contains("subusers.credits.create", scopes); Assert.Contains("subusers.credits.delete", scopes); Assert.Contains("subusers.credits.read", scopes); Assert.Contains("subusers.credits.remaining.create", scopes); Assert.Contains("subusers.credits.remaining.delete", scopes); Assert.Contains("subusers.credits.remaining.read", scopes); Assert.Contains("subusers.credits.remaining.update", scopes); Assert.Contains("subusers.credits.update", scopes); Assert.Contains("subusers.delete", scopes); Assert.Contains("subusers.monitor.create", scopes); Assert.Contains("subusers.monitor.delete", scopes); Assert.Contains("subusers.monitor.read", scopes); Assert.Contains("subusers.monitor.update", scopes); Assert.Contains("subusers.read", scopes); Assert.Contains("subusers.reputations.read", scopes); Assert.Contains("subusers.stats.monthly.read", scopes); Assert.Contains("subusers.stats.read", scopes); Assert.Contains("subusers.stats.sums.read", scopes); Assert.Contains("subusers.summary.read", scopes); Assert.Contains("subusers.update", scopes); Assert.Contains("suppression.blocks.create", scopes); Assert.Contains("suppression.blocks.delete", scopes); Assert.Contains("suppression.blocks.read", scopes); Assert.Contains("suppression.blocks.update", scopes); Assert.Contains("suppression.bounces.create", scopes); Assert.Contains("suppression.bounces.delete", scopes); Assert.Contains("suppression.bounces.read", scopes); Assert.Contains("suppression.bounces.update", scopes); Assert.Contains("suppression.create", scopes); Assert.Contains("suppression.delete", scopes); Assert.Contains("suppression.invalid_emails.create", scopes); Assert.Contains("suppression.invalid_emails.delete", scopes); Assert.Contains("suppression.invalid_emails.read", scopes); Assert.Contains("suppression.invalid_emails.update", scopes); Assert.Contains("suppression.read", scopes); Assert.Contains("suppression.spam_reports.create", scopes); Assert.Contains("suppression.spam_reports.delete", scopes); Assert.Contains("suppression.spam_reports.read", scopes); Assert.Contains("suppression.spam_reports.update", scopes); Assert.Contains("suppression.unsubscribes.create", scopes); Assert.Contains("suppression.unsubscribes.delete", scopes); Assert.Contains("suppression.unsubscribes.read", scopes); Assert.Contains("suppression.unsubscribes.update", scopes); Assert.Contains("suppression.update", scopes); Assert.Contains("teammates.create", scopes); Assert.Contains("teammates.read", scopes); Assert.Contains("teammates.update", scopes); Assert.Contains("teammates.delete", scopes); Assert.Contains("templates.create", scopes); Assert.Contains("templates.delete", scopes); Assert.Contains("templates.read", scopes); Assert.Contains("templates.update", scopes); Assert.Contains("templates.versions.activate.create", scopes); Assert.Contains("templates.versions.activate.delete", scopes); Assert.Contains("templates.versions.activate.read", scopes); Assert.Contains("templates.versions.activate.update", scopes); Assert.Contains("templates.versions.create", scopes); Assert.Contains("templates.versions.delete", scopes); Assert.Contains("templates.versions.read", scopes); Assert.Contains("templates.versions.update", scopes); Assert.Contains("tracking_settings.click.read", scopes); Assert.Contains("tracking_settings.click.update", scopes); Assert.Contains("tracking_settings.google_analytics.read", scopes); Assert.Contains("tracking_settings.google_analytics.update", scopes); Assert.Contains("tracking_settings.open.read", scopes); Assert.Contains("tracking_settings.open.update", scopes); Assert.Contains("tracking_settings.read", scopes); Assert.Contains("tracking_settings.subscription.read", scopes); Assert.Contains("tracking_settings.subscription.update", scopes); Assert.Contains("user.account.read", scopes); Assert.Contains("user.credits.read", scopes); Assert.Contains("user.email.create", scopes); Assert.Contains("user.email.delete", scopes); Assert.Contains("user.email.read", scopes); Assert.Contains("user.email.update", scopes); Assert.Contains("user.multifactor_authentication.create", scopes); Assert.Contains("user.multifactor_authentication.delete", scopes); Assert.Contains("user.multifactor_authentication.read", scopes); Assert.Contains("user.multifactor_authentication.update", scopes); Assert.Contains("user.password.read", scopes); Assert.Contains("user.password.update", scopes); Assert.Contains("user.profile.read", scopes); Assert.Contains("user.profile.update", scopes); Assert.Contains("user.scheduled_sends.create", scopes); Assert.Contains("user.scheduled_sends.delete", scopes); Assert.Contains("user.scheduled_sends.read", scopes); Assert.Contains("user.scheduled_sends.update", scopes); Assert.Contains("user.settings.enforced_tls.read", scopes); Assert.Contains("user.settings.enforced_tls.update", scopes); Assert.Contains("user.timezone.read", scopes); Assert.Contains("user.username.read", scopes); Assert.Contains("user.username.update", scopes); Assert.Contains("user.webhooks.event.settings.read", scopes); Assert.Contains("user.webhooks.event.settings.update", scopes); Assert.Contains("user.webhooks.event.test.create", scopes); Assert.Contains("user.webhooks.event.test.read", scopes); Assert.Contains("user.webhooks.event.test.update", scopes); Assert.Contains("user.webhooks.parse.settings.create", scopes); Assert.Contains("user.webhooks.parse.settings.delete", scopes); Assert.Contains("user.webhooks.parse.settings.read", scopes); Assert.Contains("user.webhooks.parse.settings.update", scopes); Assert.Contains("user.webhooks.parse.stats.read", scopes); Assert.Contains("whitelabel.create", scopes); Assert.Contains("whitelabel.delete", scopes); Assert.Contains("whitelabel.read", scopes); Assert.Contains("whitelabel.update", scopes); }