Merge c5d5ed813a
into 8b1a61c197
This commit is contained in:
commit
d74663dcdf
32
VARIABLES.md
32
VARIABLES.md
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
You can configure some of BirdsiteLIVE's settings via environment variables (those are optionnals):
|
You can configure some of BirdsiteLIVE's settings via environment variables (those are optionnals):
|
||||||
|
|
||||||
## Blacklisting & Whitelisting
|
## Blocklisting & Allowlisting
|
||||||
|
|
||||||
### Fediverse users and instances
|
### Fediverse users and instances
|
||||||
|
|
||||||
|
@ -12,14 +12,14 @@ Here are the supported patterns to describe Fediverse users and/or instances:
|
||||||
* `instance.ext` to describe an instance under a domain name
|
* `instance.ext` to describe an instance under a domain name
|
||||||
* `*.instance.ext` to describe instances from all subdomains of a domain name (this doesn't include the instance.ext, if you want both you need to add both)
|
* `*.instance.ext` to describe instances from all subdomains of a domain name (this doesn't include the instance.ext, if you want both you need to add both)
|
||||||
|
|
||||||
You can whitelist or blacklist fediverses users by settings the followings variables with the above patterns separated by `;`:
|
You can allowlist or blocklist fediverses users by settings the followings variables with the above patterns separated by `;`:
|
||||||
|
|
||||||
* `Moderation:FollowersWhiteListing` Fediverse Whitelisting
|
* `Moderation:FollowersAllowListing` Fediverse Allowlisting
|
||||||
* `Moderation:FollowersBlackListing` Fediverse Blacklisting
|
* `Moderation:FollowersBlockListing` Fediverse Blocklisting
|
||||||
|
|
||||||
If the whitelisting is set, only given patterns can follow twitter accounts on the instance.
|
If the allowlisting is set, only given patterns can follow twitter accounts on the instance.
|
||||||
If blacklisted, the given patterns can't follow twitter accounts on the instance.
|
If blocklisted, the given patterns can't follow twitter accounts on the instance.
|
||||||
If both whitelisting and blacklisting are set, only the whitelisting will be active.
|
If both allowlisting and blocklisting are set, only the allowlisting will be active.
|
||||||
|
|
||||||
### Twitter users
|
### Twitter users
|
||||||
|
|
||||||
|
@ -27,14 +27,14 @@ Here is the supported pattern to describe Twitter users:
|
||||||
|
|
||||||
* `twitter_handle` to describe a Twitter user
|
* `twitter_handle` to describe a Twitter user
|
||||||
|
|
||||||
You can whitelist or blacklist twitter users by settings the followings variables with the above pattern separated by `;`:
|
You can allowlist or blocklist twitter users by settings the followings variables with the above pattern separated by `;`:
|
||||||
|
|
||||||
* `Moderation:TwitterAccountsWhiteListing` Twitter Whitelisting
|
* `Moderation:TwitterAccountsAllowListing` Twitter Allowlisting
|
||||||
* `Moderation:TwitterAccountsBlackListing` Twitter Blacklisting
|
* `Moderation:TwitterAccountsBlockListing` Twitter Blocklisting
|
||||||
|
|
||||||
If the whitelisting is set, only given patterns can be followed on the instance.
|
If the allowlisting is set, only given patterns can be followed on the instance.
|
||||||
If blacklisted, the given patterns can't be followed on the instance.
|
If blocklisted, the given patterns can't be followed on the instance.
|
||||||
If both whitelisting and blacklisting are set, only the whitelisting will be active.
|
If both allowlisting and blocklisting are set, only the allowlisting will be active.
|
||||||
|
|
||||||
## Logging
|
## Logging
|
||||||
|
|
||||||
|
@ -76,8 +76,8 @@ services:
|
||||||
- Db:Password=birdsitelive
|
- Db:Password=birdsitelive
|
||||||
- Twitter:ConsumerKey=twitter.api.key
|
- Twitter:ConsumerKey=twitter.api.key
|
||||||
- Twitter:ConsumerSecret=twitter.api.key
|
- Twitter:ConsumerSecret=twitter.api.key
|
||||||
+ - Moderation:FollowersWhiteListing=@me@my-instance.ca;friend-instance.com;*.friend-instance.com
|
+ - Moderation:FollowersAllowListing=@me@my-instance.ca;friend-instance.com;*.friend-instance.com
|
||||||
+ - Moderation:TwitterAccountsBlackListing=douchebag;jerk_88;theRealIdiot
|
+ - Moderation:TwitterAccountsBlockListing=douchebag;jerk_88;theRealIdiot
|
||||||
+ - Instance:Name=MyTwitterRelay
|
+ - Instance:Name=MyTwitterRelay
|
||||||
+ - Instance:ResolveMentionsInProfiles=false
|
+ - Instance:ResolveMentionsInProfiles=false
|
||||||
+ - Instance:PublishReplies=true
|
+ - Instance:PublishReplies=true
|
||||||
|
@ -85,7 +85,7 @@ services:
|
||||||
+ - Instance:SensitiveTwitterAccounts=archillect
|
+ - Instance:SensitiveTwitterAccounts=archillect
|
||||||
networks:
|
networks:
|
||||||
[...]
|
[...]
|
||||||
|
~~~~
|
||||||
db:
|
db:
|
||||||
image: postgres:9.6
|
image: postgres:9.6
|
||||||
[...]
|
[...]
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
{
|
{
|
||||||
public class ModerationSettings
|
public class ModerationSettings
|
||||||
{
|
{
|
||||||
public string FollowersWhiteListing { get; set; }
|
public string FollowersAllowListing { get; set; }
|
||||||
public string FollowersBlackListing { get; set; }
|
public string FollowersBlockListing { get; set; }
|
||||||
public string TwitterAccountsWhiteListing { get; set; }
|
public string TwitterAccountsAllowListing { get; set; }
|
||||||
public string TwitterAccountsBlackListing { get; set; }
|
public string TwitterAccountsBlockListing { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -15,10 +15,10 @@ namespace BirdsiteLive.Domain.Repository
|
||||||
|
|
||||||
public class ModerationRepository : IModerationRepository
|
public class ModerationRepository : IModerationRepository
|
||||||
{
|
{
|
||||||
private readonly Regex[] _followersWhiteListing;
|
private readonly Regex[] _followersAllowListing;
|
||||||
private readonly Regex[] _followersBlackListing;
|
private readonly Regex[] _followersBlockListing;
|
||||||
private readonly Regex[] _twitterAccountsWhiteListing;
|
private readonly Regex[] _twitterAccountsAllowListing;
|
||||||
private readonly Regex[] _twitterAccountsBlackListing;
|
private readonly Regex[] _twitterAccountsBlockListing;
|
||||||
|
|
||||||
private readonly Dictionary<ModerationEntityTypeEnum, ModerationTypeEnum> _modMode =
|
private readonly Dictionary<ModerationEntityTypeEnum, ModerationTypeEnum> _modMode =
|
||||||
new Dictionary<ModerationEntityTypeEnum, ModerationTypeEnum>();
|
new Dictionary<ModerationEntityTypeEnum, ModerationTypeEnum>();
|
||||||
|
@ -26,37 +26,37 @@ namespace BirdsiteLive.Domain.Repository
|
||||||
#region Ctor
|
#region Ctor
|
||||||
public ModerationRepository(ModerationSettings settings)
|
public ModerationRepository(ModerationSettings settings)
|
||||||
{
|
{
|
||||||
var parsedFollowersWhiteListing = PatternsParser.Parse(settings.FollowersWhiteListing);
|
var parsedFollowersAllowListing = PatternsParser.Parse(settings.FollowersAllowListing);
|
||||||
var parsedFollowersBlackListing = PatternsParser.Parse(settings.FollowersBlackListing);
|
var parsedFollowersBlockListing = PatternsParser.Parse(settings.FollowersBlockListing);
|
||||||
var parsedTwitterAccountsWhiteListing = PatternsParser.Parse(settings.TwitterAccountsWhiteListing);
|
var parsedTwitterAccountsAllowListing = PatternsParser.Parse(settings.TwitterAccountsAllowListing);
|
||||||
var parsedTwitterAccountsBlackListing = PatternsParser.Parse(settings.TwitterAccountsBlackListing);
|
var parsedTwitterAccountsBlockListing = PatternsParser.Parse(settings.TwitterAccountsBlockListing);
|
||||||
|
|
||||||
_followersWhiteListing = parsedFollowersWhiteListing
|
_followersAllowListing = parsedFollowersAllowListing
|
||||||
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.Follower, x))
|
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.Follower, x))
|
||||||
.ToArray();
|
.ToArray();
|
||||||
_followersBlackListing = parsedFollowersBlackListing
|
_followersBlockListing = parsedFollowersBlockListing
|
||||||
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.Follower, x))
|
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.Follower, x))
|
||||||
.ToArray();
|
.ToArray();
|
||||||
_twitterAccountsWhiteListing = parsedTwitterAccountsWhiteListing
|
_twitterAccountsAllowListing = parsedTwitterAccountsAllowListing
|
||||||
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.TwitterAccount, x))
|
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.TwitterAccount, x))
|
||||||
.ToArray();
|
.ToArray();
|
||||||
_twitterAccountsBlackListing = parsedTwitterAccountsBlackListing
|
_twitterAccountsBlockListing = parsedTwitterAccountsBlockListing
|
||||||
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.TwitterAccount, x))
|
.Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.TwitterAccount, x))
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|
||||||
// Set Follower moderation politic
|
// Set Follower moderation politic
|
||||||
if (_followersWhiteListing.Any())
|
if (_followersAllowListing.Any())
|
||||||
_modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.WhiteListing);
|
_modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.AllowListing);
|
||||||
else if (_followersBlackListing.Any())
|
else if (_followersBlockListing.Any())
|
||||||
_modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.BlackListing);
|
_modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.BlockListing);
|
||||||
else
|
else
|
||||||
_modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.None);
|
_modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.None);
|
||||||
|
|
||||||
// Set Twitter account moderation politic
|
// Set Twitter account moderation politic
|
||||||
if (_twitterAccountsWhiteListing.Any())
|
if (_twitterAccountsAllowListing.Any())
|
||||||
_modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.WhiteListing);
|
_modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.AllowListing);
|
||||||
else if (_twitterAccountsBlackListing.Any())
|
else if (_twitterAccountsBlockListing.Any())
|
||||||
_modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.BlackListing);
|
_modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.BlockListing);
|
||||||
else
|
else
|
||||||
_modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.None);
|
_modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.None);
|
||||||
}
|
}
|
||||||
|
@ -90,13 +90,13 @@ namespace BirdsiteLive.Domain.Repository
|
||||||
{
|
{
|
||||||
case ModerationTypeEnum.None:
|
case ModerationTypeEnum.None:
|
||||||
return ModeratedTypeEnum.None;
|
return ModeratedTypeEnum.None;
|
||||||
case ModerationTypeEnum.BlackListing:
|
case ModerationTypeEnum.BlockListing:
|
||||||
if (_followersBlackListing.Any(x => x.IsMatch(entity)))
|
if (_followersBlockListing.Any(x => x.IsMatch(entity)))
|
||||||
return ModeratedTypeEnum.BlackListed;
|
return ModeratedTypeEnum.BlockListed;
|
||||||
return ModeratedTypeEnum.None;
|
return ModeratedTypeEnum.None;
|
||||||
case ModerationTypeEnum.WhiteListing:
|
case ModerationTypeEnum.AllowListing:
|
||||||
if (_followersWhiteListing.Any(x => x.IsMatch(entity)))
|
if (_followersAllowListing.Any(x => x.IsMatch(entity)))
|
||||||
return ModeratedTypeEnum.WhiteListed;
|
return ModeratedTypeEnum.AllowListed;
|
||||||
return ModeratedTypeEnum.None;
|
return ModeratedTypeEnum.None;
|
||||||
default:
|
default:
|
||||||
throw new ArgumentOutOfRangeException();
|
throw new ArgumentOutOfRangeException();
|
||||||
|
@ -111,13 +111,13 @@ namespace BirdsiteLive.Domain.Repository
|
||||||
{
|
{
|
||||||
case ModerationTypeEnum.None:
|
case ModerationTypeEnum.None:
|
||||||
return ModeratedTypeEnum.None;
|
return ModeratedTypeEnum.None;
|
||||||
case ModerationTypeEnum.BlackListing:
|
case ModerationTypeEnum.BlockListing:
|
||||||
if (_twitterAccountsBlackListing.Any(x => x.IsMatch(entity)))
|
if (_twitterAccountsBlockListing.Any(x => x.IsMatch(entity)))
|
||||||
return ModeratedTypeEnum.BlackListed;
|
return ModeratedTypeEnum.BlockListed;
|
||||||
return ModeratedTypeEnum.None;
|
return ModeratedTypeEnum.None;
|
||||||
case ModerationTypeEnum.WhiteListing:
|
case ModerationTypeEnum.AllowListing:
|
||||||
if (_twitterAccountsWhiteListing.Any(x => x.IsMatch(entity)))
|
if (_twitterAccountsAllowListing.Any(x => x.IsMatch(entity)))
|
||||||
return ModeratedTypeEnum.WhiteListed;
|
return ModeratedTypeEnum.AllowListed;
|
||||||
return ModeratedTypeEnum.None;
|
return ModeratedTypeEnum.None;
|
||||||
default:
|
default:
|
||||||
throw new ArgumentOutOfRangeException();
|
throw new ArgumentOutOfRangeException();
|
||||||
|
@ -135,14 +135,14 @@ namespace BirdsiteLive.Domain.Repository
|
||||||
public enum ModerationTypeEnum
|
public enum ModerationTypeEnum
|
||||||
{
|
{
|
||||||
None = 0,
|
None = 0,
|
||||||
BlackListing = 1,
|
BlockListing = 1,
|
||||||
WhiteListing = 2
|
AllowListing = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ModeratedTypeEnum
|
public enum ModeratedTypeEnum
|
||||||
{
|
{
|
||||||
None = 0,
|
None = 0,
|
||||||
BlackListed = 1,
|
BlockListed = 1,
|
||||||
WhiteListed = 2
|
AllowListed = 2
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -161,8 +161,8 @@ namespace BirdsiteLive.Domain
|
||||||
{
|
{
|
||||||
var followerStatus = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.Follower, $"@{followerUserName}@{followerHost}");
|
var followerStatus = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.Follower, $"@{followerUserName}@{followerHost}");
|
||||||
|
|
||||||
if(followerModPolicy == ModerationTypeEnum.WhiteListing && followerStatus != ModeratedTypeEnum.WhiteListed ||
|
if(followerModPolicy == ModerationTypeEnum.AllowListing && followerStatus != ModeratedTypeEnum.AllowListed ||
|
||||||
followerModPolicy == ModerationTypeEnum.BlackListing && followerStatus == ModeratedTypeEnum.BlackListed)
|
followerModPolicy == ModerationTypeEnum.BlockListing && followerStatus == ModeratedTypeEnum.BlockListed)
|
||||||
return await SendRejectFollowAsync(activity, followerHost);
|
return await SendRejectFollowAsync(activity, followerHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,8 +171,8 @@ namespace BirdsiteLive.Domain
|
||||||
if (twitterAccountModPolicy != ModerationTypeEnum.None)
|
if (twitterAccountModPolicy != ModerationTypeEnum.None)
|
||||||
{
|
{
|
||||||
var twitterUserStatus = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, twitterUser);
|
var twitterUserStatus = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, twitterUser);
|
||||||
if (twitterAccountModPolicy == ModerationTypeEnum.WhiteListing && twitterUserStatus != ModeratedTypeEnum.WhiteListed ||
|
if (twitterAccountModPolicy == ModerationTypeEnum.AllowListing && twitterUserStatus != ModeratedTypeEnum.AllowListed ||
|
||||||
twitterAccountModPolicy == ModerationTypeEnum.BlackListing && twitterUserStatus == ModeratedTypeEnum.BlackListed)
|
twitterAccountModPolicy == ModerationTypeEnum.BlockListing && twitterUserStatus == ModeratedTypeEnum.BlockListed)
|
||||||
return await SendRejectFollowAsync(activity, followerHost);
|
return await SendRejectFollowAsync(activity, followerHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,8 +37,8 @@ namespace BirdsiteLive.Moderation.Processors
|
||||||
var followerHandle = $"@{follower.Acct.Trim()}@{follower.Host.Trim()}".ToLowerInvariant();
|
var followerHandle = $"@{follower.Acct.Trim()}@{follower.Host.Trim()}".ToLowerInvariant();
|
||||||
var status = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.Follower, followerHandle);
|
var status = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.Follower, followerHandle);
|
||||||
|
|
||||||
if (type == ModerationTypeEnum.WhiteListing && status != ModeratedTypeEnum.WhiteListed ||
|
if (type == ModerationTypeEnum.AllowListing && status != ModeratedTypeEnum.AllowListed ||
|
||||||
type == ModerationTypeEnum.BlackListing && status == ModeratedTypeEnum.BlackListed)
|
type == ModerationTypeEnum.BlockListing && status == ModeratedTypeEnum.BlockListed)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Remove {followerHandle}");
|
Console.WriteLine($"Remove {followerHandle}");
|
||||||
await _removeFollowerAction.ProcessAsync(follower);
|
await _removeFollowerAction.ProcessAsync(follower);
|
||||||
|
|
|
@ -36,8 +36,8 @@ namespace BirdsiteLive.Moderation.Processors
|
||||||
var userHandle = user.Acct.ToLowerInvariant().Trim();
|
var userHandle = user.Acct.ToLowerInvariant().Trim();
|
||||||
var status = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, userHandle);
|
var status = _moderationRepository.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, userHandle);
|
||||||
|
|
||||||
if (type == ModerationTypeEnum.WhiteListing && status != ModeratedTypeEnum.WhiteListed ||
|
if (type == ModerationTypeEnum.AllowListing && status != ModeratedTypeEnum.AllowListed ||
|
||||||
type == ModerationTypeEnum.BlackListing && status == ModeratedTypeEnum.BlackListed)
|
type == ModerationTypeEnum.BlockListing && status == ModeratedTypeEnum.BlockListed)
|
||||||
await _removeTwitterAccountAction.ProcessAsync(user);
|
await _removeTwitterAccountAction.ProcessAsync(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,17 +33,17 @@ namespace BirdsiteLive.Component
|
||||||
|
|
||||||
var viewModel = new NodeInfoViewModel
|
var viewModel = new NodeInfoViewModel
|
||||||
{
|
{
|
||||||
BlacklistingEnabled = followerPolicy == ModerationTypeEnum.BlackListing ||
|
BlocklistingEnabled = followerPolicy == ModerationTypeEnum.BlockListing ||
|
||||||
twitterAccountPolicy == ModerationTypeEnum.BlackListing,
|
twitterAccountPolicy == ModerationTypeEnum.BlockListing,
|
||||||
WhitelistingEnabled = followerPolicy == ModerationTypeEnum.WhiteListing ||
|
AllowlistingEnabled = followerPolicy == ModerationTypeEnum.AllowListing ||
|
||||||
twitterAccountPolicy == ModerationTypeEnum.WhiteListing,
|
twitterAccountPolicy == ModerationTypeEnum.AllowListing,
|
||||||
InstanceSaturation = statistics.Saturation
|
InstanceSaturation = statistics.Saturation
|
||||||
};
|
};
|
||||||
|
|
||||||
//viewModel = new NodeInfoViewModel
|
//viewModel = new NodeInfoViewModel
|
||||||
//{
|
//{
|
||||||
// BlacklistingEnabled = false,
|
// BlocklistingEnabled = false,
|
||||||
// WhitelistingEnabled = false,
|
// AllowlistingEnabled = false,
|
||||||
// InstanceSaturation = 175
|
// InstanceSaturation = 175
|
||||||
//};
|
//};
|
||||||
return View(viewModel);
|
return View(viewModel);
|
||||||
|
@ -52,8 +52,8 @@ namespace BirdsiteLive.Component
|
||||||
|
|
||||||
public class NodeInfoViewModel
|
public class NodeInfoViewModel
|
||||||
{
|
{
|
||||||
public bool BlacklistingEnabled { get; set; }
|
public bool BlocklistingEnabled { get; set; }
|
||||||
public bool WhitelistingEnabled { get; set; }
|
public bool AllowlistingEnabled { get; set; }
|
||||||
public int InstanceSaturation { get; set; }
|
public int InstanceSaturation { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,16 +27,16 @@ namespace BirdsiteLive.Controllers
|
||||||
return View(stats);
|
return View(stats);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IActionResult Blacklisting()
|
public IActionResult Blocklisting()
|
||||||
{
|
{
|
||||||
var status = GetModerationStatus();
|
var status = GetModerationStatus();
|
||||||
return View("Blacklisting", status);
|
return View("Blocklisting", status);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IActionResult Whitelisting()
|
public IActionResult Allowlisting()
|
||||||
{
|
{
|
||||||
var status = GetModerationStatus();
|
var status = GetModerationStatus();
|
||||||
return View("Whitelisting", status);
|
return View("Allowlisting", status);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModerationStatus GetModerationStatus()
|
private ModerationStatus GetModerationStatus()
|
||||||
|
|
|
@ -64,7 +64,7 @@ namespace BirdsiteLive.Controllers
|
||||||
{
|
{
|
||||||
var version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString(3);
|
var version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString(3);
|
||||||
var twitterUsersCount = await _twitterUserDal.GetTwitterUsersCountAsync();
|
var twitterUsersCount = await _twitterUserDal.GetTwitterUsersCountAsync();
|
||||||
var isOpenRegistration = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.Follower) != ModerationTypeEnum.WhiteListing;
|
var isOpenRegistration = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.Follower) != ModerationTypeEnum.AllowListing;
|
||||||
|
|
||||||
if (id == "2.0")
|
if (id == "2.0")
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
@using BirdsiteLive.Domain.Repository
|
||||||
|
@model BirdsiteLive.Controllers.ModerationStatus
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Allowlisting";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="col-12 col-sm-12 col-md-10 col-lg-8 mx-auto">
|
||||||
|
<h2>Allowlisting</h2>
|
||||||
|
|
||||||
|
@if (Model.Followers == ModerationTypeEnum.AllowListing)
|
||||||
|
{
|
||||||
|
<p><br />This node is allowlisting some instances and/or Fediverse users.<br /><br /></p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (Model.TwitterAccounts == ModerationTypeEnum.AllowListing)
|
||||||
|
{
|
||||||
|
<p><br />This node is allowlisting some twitter users.<br /><br /></p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (Model.Followers != ModerationTypeEnum.AllowListing && Model.TwitterAccounts != ModerationTypeEnum.AllowListing)
|
||||||
|
{
|
||||||
|
<p><br />This node is not using an allowlist.<br /><br /></p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@*<h2>FAQ</h2>
|
||||||
|
<p>TODO</p>*@
|
||||||
|
</div>
|
|
@ -1,27 +0,0 @@
|
||||||
@using BirdsiteLive.Domain.Repository
|
|
||||||
@model BirdsiteLive.Controllers.ModerationStatus
|
|
||||||
@{
|
|
||||||
ViewData["Title"] = "Blacklisting";
|
|
||||||
}
|
|
||||||
|
|
||||||
<div class="col-12 col-sm-12 col-md-10 col-lg-8 mx-auto">
|
|
||||||
<h2>Blacklisting</h2>
|
|
||||||
|
|
||||||
@if (Model.Followers == ModerationTypeEnum.BlackListing)
|
|
||||||
{
|
|
||||||
<p><br />This node is blacklisting some instances and/or Fediverse users.<br /><br /></p>
|
|
||||||
}
|
|
||||||
|
|
||||||
@if (Model.TwitterAccounts == ModerationTypeEnum.BlackListing)
|
|
||||||
{
|
|
||||||
<p><br />This node is blacklisting some twitter users.<br /><br /></p>
|
|
||||||
}
|
|
||||||
|
|
||||||
@if (Model.Followers != ModerationTypeEnum.BlackListing && Model.TwitterAccounts != ModerationTypeEnum.BlackListing)
|
|
||||||
{
|
|
||||||
<p><br />This node is not using blacklisting.<br /><br /></p>
|
|
||||||
}
|
|
||||||
|
|
||||||
@*<h2>FAQ</h2>
|
|
||||||
<p>TODO</p>*@
|
|
||||||
</div>
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
@using BirdsiteLive.Domain.Repository
|
||||||
|
@model BirdsiteLive.Controllers.ModerationStatus
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Blocklisting";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="col-12 col-sm-12 col-md-10 col-lg-8 mx-auto">
|
||||||
|
<h2>Blocklisting</h2>
|
||||||
|
|
||||||
|
@if (Model.Followers == ModerationTypeEnum.BlockListing)
|
||||||
|
{
|
||||||
|
<p><br />This node is blocklisting some instances and/or Fediverse users.<br /><br /></p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (Model.TwitterAccounts == ModerationTypeEnum.BlockListing)
|
||||||
|
{
|
||||||
|
<p><br />This node is blocklisting some twitter users.<br /><br /></p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (Model.Followers != ModerationTypeEnum.BlockListing && Model.TwitterAccounts != ModerationTypeEnum.BlockListing)
|
||||||
|
{
|
||||||
|
<p><br />This node is not using a blocklist.<br /><br /></p>
|
||||||
|
}
|
||||||
|
|
||||||
|
@*<h2>FAQ</h2>
|
||||||
|
<p>TODO</p>*@
|
||||||
|
</div>
|
|
@ -1,27 +0,0 @@
|
||||||
@using BirdsiteLive.Domain.Repository
|
|
||||||
@model BirdsiteLive.Controllers.ModerationStatus
|
|
||||||
@{
|
|
||||||
ViewData["Title"] = "Whitelisting";
|
|
||||||
}
|
|
||||||
|
|
||||||
<div class="col-12 col-sm-12 col-md-10 col-lg-8 mx-auto">
|
|
||||||
<h2>Whitelisting</h2>
|
|
||||||
|
|
||||||
@if (Model.Followers == ModerationTypeEnum.WhiteListing)
|
|
||||||
{
|
|
||||||
<p><br />This node is whitelisting some instances and/or Fediverse users.<br /><br /></p>
|
|
||||||
}
|
|
||||||
|
|
||||||
@if (Model.TwitterAccounts == ModerationTypeEnum.WhiteListing)
|
|
||||||
{
|
|
||||||
<p><br />This node is whitelisting some twitter users.<br /><br /></p>
|
|
||||||
}
|
|
||||||
|
|
||||||
@if (Model.Followers != ModerationTypeEnum.WhiteListing && Model.TwitterAccounts != ModerationTypeEnum.WhiteListing)
|
|
||||||
{
|
|
||||||
<p><br />This node is not using whitelisting.<br /><br /></p>
|
|
||||||
}
|
|
||||||
|
|
||||||
@*<h2>FAQ</h2>
|
|
||||||
<p>TODO</p>*@
|
|
||||||
</div>
|
|
|
@ -1,13 +1,13 @@
|
||||||
@model BirdsiteLive.Component.NodeInfoViewModel
|
@model BirdsiteLive.Component.NodeInfoViewModel
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
@if (ViewData.Model.WhitelistingEnabled)
|
@if (ViewData.Model.AllowlistingEnabled)
|
||||||
{
|
{
|
||||||
<a asp-controller="About" asp-action="Whitelisting" class="badge badge-light" title="What does this mean?">Whitelisting Enabled</a>
|
<a asp-controller="About" asp-action="Allowlisting" class="badge badge-light" title="What does this mean?">Allowlist Enabled</a>
|
||||||
}
|
}
|
||||||
@if (ViewData.Model.BlacklistingEnabled)
|
@if (ViewData.Model.BlocklistingEnabled)
|
||||||
{
|
{
|
||||||
<a asp-controller="About" asp-action="Blacklisting" class="badge badge-light" title="What does this mean?">Blacklisting Enabled</a>
|
<a asp-controller="About" asp-action="Blocklisting" class="badge badge-light" title="What does this mean?">Blocklist Enabled</a>
|
||||||
}
|
}
|
||||||
|
|
||||||
<div class="node-progress-bar">
|
<div class="node-progress-bar">
|
||||||
|
|
|
@ -9,30 +9,30 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
{
|
{
|
||||||
#region GetModerationType
|
#region GetModerationType
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void GetModerationType_Follower_WhiteListing_Test()
|
public void GetModerationType_Follower_AllowListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersWhiteListing = "@me@domain.ext"
|
FollowersAllowListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing ,repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing ,repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void GetModerationType_TwitterAccount_WhiteListing_Test()
|
public void GetModerationType_TwitterAccount_AllowListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
TwitterAccountsWhiteListing = "@me@domain.ext"
|
TwitterAccountsAllowListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -40,54 +40,54 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void GetModerationType_FollowerTwitterAccount_WhiteListing_Test()
|
public void GetModerationType_FollowerTwitterAccount_AllowListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersWhiteListing = "@me@domain.ext",
|
FollowersAllowListing = "@me@domain.ext",
|
||||||
TwitterAccountsWhiteListing = "@me@domain.ext"
|
TwitterAccountsAllowListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void GetModerationType_Follower_BlackListing_Test()
|
public void GetModerationType_Follower_BlockListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersBlackListing = "@me@domain.ext"
|
FollowersBlockListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.BlackListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.BlockListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void GetModerationType_TwitterAccount_BlackListing_Test()
|
public void GetModerationType_TwitterAccount_BlockListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
TwitterAccountsBlackListing = "@me@domain.ext"
|
TwitterAccountsBlockListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -95,26 +95,26 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.BlackListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.BlockListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void GetModerationType_FollowerTwitterAccount_BlackListing_Test()
|
public void GetModerationType_FollowerTwitterAccount_BlockListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersBlackListing = "@me@domain.ext",
|
FollowersBlockListing = "@me@domain.ext",
|
||||||
TwitterAccountsBlackListing = "@me@domain.ext"
|
TwitterAccountsBlockListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.BlackListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.BlockListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.BlackListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.BlockListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,15 +124,15 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersBlackListing = "@me@domain.ext",
|
FollowersBlockListing = "@me@domain.ext",
|
||||||
FollowersWhiteListing = "@me@domain.ext",
|
FollowersAllowListing = "@me@domain.ext",
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
@ -143,8 +143,8 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
TwitterAccountsBlackListing = "@me@domain.ext",
|
TwitterAccountsBlockListing = "@me@domain.ext",
|
||||||
TwitterAccountsWhiteListing = "@me@domain.ext"
|
TwitterAccountsAllowListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.None, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,130 +162,130 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersBlackListing = "@me@domain.ext",
|
FollowersBlockListing = "@me@domain.ext",
|
||||||
FollowersWhiteListing = "@me@domain.ext",
|
FollowersAllowListing = "@me@domain.ext",
|
||||||
TwitterAccountsBlackListing = "@me@domain.ext",
|
TwitterAccountsBlockListing = "@me@domain.ext",
|
||||||
TwitterAccountsWhiteListing = "@me@domain.ext"
|
TwitterAccountsAllowListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing, repo.GetModerationType(ModerationEntityTypeEnum.Follower));
|
||||||
Assert.AreEqual(ModerationTypeEnum.WhiteListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
Assert.AreEqual(ModerationTypeEnum.AllowListing, repo.GetModerationType(ModerationEntityTypeEnum.TwitterAccount));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region CheckStatus
|
#region CheckStatus
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void CheckStatus_Follower_WhiteListing_Test()
|
public void CheckStatus_Follower_AllowListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersWhiteListing = "@me@domain.ext"
|
FollowersAllowListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void CheckStatus_Follower_WhiteListing_Instance_Test()
|
public void CheckStatus_Follower_AllowListing_Instance_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersWhiteListing = "domain.ext"
|
FollowersAllowListing = "domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain2.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain2.ext"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void CheckStatus_Follower_WhiteListing_SubDomain_Test()
|
public void CheckStatus_Follower_AllowListing_SubDomain_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersWhiteListing = "*.domain.ext"
|
FollowersAllowListing = "*.domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@s.domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@s.domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@s2.domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@s2.domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain2.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain2.ext"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void CheckStatus_TwitterAccount_WhiteListing_Test()
|
public void CheckStatus_TwitterAccount_AllowListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
TwitterAccountsWhiteListing = "handle"
|
TwitterAccountsAllowListing = "handle"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle2"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle2"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void CheckStatus_Follower_BlackListing_Test()
|
public void CheckStatus_Follower_BlockListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersBlackListing = "@me@domain.ext"
|
FollowersBlockListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.BlackListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.BlockListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void CheckStatus_TwitterAccount_BlackListing_Test()
|
public void CheckStatus_TwitterAccount_BlockListing_Test()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
TwitterAccountsBlackListing = "handle"
|
TwitterAccountsBlockListing = "handle"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.BlackListed, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle"));
|
Assert.AreEqual(ModeratedTypeEnum.BlockListed, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle2"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle2"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
@ -296,15 +296,15 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
FollowersWhiteListing = "@me@domain.ext",
|
FollowersAllowListing = "@me@domain.ext",
|
||||||
FollowersBlackListing = "@me@domain.ext"
|
FollowersBlockListing = "@me@domain.ext"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me@domain.ext"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.Follower, "@me2@domain.ext"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
@ -315,15 +315,15 @@ namespace BirdsiteLive.Domain.Tests.Repository
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var settings = new ModerationSettings
|
var settings = new ModerationSettings
|
||||||
{
|
{
|
||||||
TwitterAccountsWhiteListing = "handle",
|
TwitterAccountsAllowListing = "handle",
|
||||||
TwitterAccountsBlackListing = "handle"
|
TwitterAccountsBlockListing = "handle"
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var repo = new ModerationRepository(settings);
|
var repo = new ModerationRepository(settings);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
Assert.AreEqual(ModeratedTypeEnum.WhiteListed, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle"));
|
Assert.AreEqual(ModeratedTypeEnum.AllowListed, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle"));
|
||||||
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle2"));
|
Assert.AreEqual(ModeratedTypeEnum.None, repo.CheckStatus(ModerationEntityTypeEnum.TwitterAccount, "handle2"));
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,21 +46,21 @@ namespace BirdsiteLive.Moderation.Tests
|
||||||
var moderationRepositoryMock = new Mock<IModerationRepository>(MockBehavior.Strict);
|
var moderationRepositoryMock = new Mock<IModerationRepository>(MockBehavior.Strict);
|
||||||
moderationRepositoryMock
|
moderationRepositoryMock
|
||||||
.Setup(x => x.GetModerationType(ModerationEntityTypeEnum.Follower))
|
.Setup(x => x.GetModerationType(ModerationEntityTypeEnum.Follower))
|
||||||
.Returns(ModerationTypeEnum.WhiteListing);
|
.Returns(ModerationTypeEnum.AllowListing);
|
||||||
moderationRepositoryMock
|
moderationRepositoryMock
|
||||||
.Setup(x => x.GetModerationType(ModerationEntityTypeEnum.TwitterAccount))
|
.Setup(x => x.GetModerationType(ModerationEntityTypeEnum.TwitterAccount))
|
||||||
.Returns(ModerationTypeEnum.BlackListing);
|
.Returns(ModerationTypeEnum.BlockListing);
|
||||||
|
|
||||||
var followerModerationProcessorMock = new Mock<IFollowerModerationProcessor>(MockBehavior.Strict);
|
var followerModerationProcessorMock = new Mock<IFollowerModerationProcessor>(MockBehavior.Strict);
|
||||||
followerModerationProcessorMock
|
followerModerationProcessorMock
|
||||||
.Setup(x => x.ProcessAsync(
|
.Setup(x => x.ProcessAsync(
|
||||||
It.Is<ModerationTypeEnum>(y => y == ModerationTypeEnum.WhiteListing)))
|
It.Is<ModerationTypeEnum>(y => y == ModerationTypeEnum.AllowListing)))
|
||||||
.Returns(Task.CompletedTask);
|
.Returns(Task.CompletedTask);
|
||||||
|
|
||||||
var twitterAccountModerationProcessorMock = new Mock<ITwitterAccountModerationProcessor>(MockBehavior.Strict);
|
var twitterAccountModerationProcessorMock = new Mock<ITwitterAccountModerationProcessor>(MockBehavior.Strict);
|
||||||
twitterAccountModerationProcessorMock
|
twitterAccountModerationProcessorMock
|
||||||
.Setup(x => x.ProcessAsync(
|
.Setup(x => x.ProcessAsync(
|
||||||
It.Is<ModerationTypeEnum>(y => y == ModerationTypeEnum.BlackListing)))
|
It.Is<ModerationTypeEnum>(y => y == ModerationTypeEnum.BlockListing)))
|
||||||
.Returns(Task.CompletedTask);
|
.Returns(Task.CompletedTask);
|
||||||
|
|
||||||
var loggerMock = new Mock<ILogger<ModerationPipeline>>(MockBehavior.Strict);
|
var loggerMock = new Mock<ILogger<ModerationPipeline>>(MockBehavior.Strict);
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_WhiteListing_WhiteListed()
|
public async Task ProcessAsync_AllowListing_AllowListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allFollowers = new List<Follower>
|
var allFollowers = new List<Follower>
|
||||||
|
@ -58,13 +58,13 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
.Setup(x => x.CheckStatus(
|
.Setup(x => x.CheckStatus(
|
||||||
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.Follower),
|
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.Follower),
|
||||||
It.Is<string>(y => y == "@acct@host")))
|
It.Is<string>(y => y == "@acct@host")))
|
||||||
.Returns(ModeratedTypeEnum.WhiteListed);
|
.Returns(ModeratedTypeEnum.AllowListed);
|
||||||
|
|
||||||
var removeFollowerActionMock = new Mock<IRemoveFollowerAction>(MockBehavior.Strict);
|
var removeFollowerActionMock = new Mock<IRemoveFollowerAction>(MockBehavior.Strict);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.WhiteListing);
|
await processor.ProcessAsync(ModerationTypeEnum.AllowListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
followersDalMock.VerifyAll();
|
followersDalMock.VerifyAll();
|
||||||
|
@ -74,7 +74,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_WhiteListing_NotWhiteListed()
|
public async Task ProcessAsync_AllowListing_NotAllowListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allFollowers = new List<Follower>
|
var allFollowers = new List<Follower>
|
||||||
|
@ -108,7 +108,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.WhiteListing);
|
await processor.ProcessAsync(ModerationTypeEnum.AllowListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
followersDalMock.VerifyAll();
|
followersDalMock.VerifyAll();
|
||||||
|
@ -118,7 +118,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_BlackListing_BlackListed()
|
public async Task ProcessAsync_BlockListing_BlockListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allFollowers = new List<Follower>
|
var allFollowers = new List<Follower>
|
||||||
|
@ -142,7 +142,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
.Setup(x => x.CheckStatus(
|
.Setup(x => x.CheckStatus(
|
||||||
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.Follower),
|
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.Follower),
|
||||||
It.Is<string>(y => y == "@acct@host")))
|
It.Is<string>(y => y == "@acct@host")))
|
||||||
.Returns(ModeratedTypeEnum.BlackListed);
|
.Returns(ModeratedTypeEnum.BlockListed);
|
||||||
|
|
||||||
var removeFollowerActionMock = new Mock<IRemoveFollowerAction>(MockBehavior.Strict);
|
var removeFollowerActionMock = new Mock<IRemoveFollowerAction>(MockBehavior.Strict);
|
||||||
removeFollowerActionMock
|
removeFollowerActionMock
|
||||||
|
@ -152,7 +152,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.BlackListing);
|
await processor.ProcessAsync(ModerationTypeEnum.BlockListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
followersDalMock.VerifyAll();
|
followersDalMock.VerifyAll();
|
||||||
|
@ -162,7 +162,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_BlackListing_NotBlackListed()
|
public async Task ProcessAsync_BlockListing_NotBlockListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allFollowers = new List<Follower>
|
var allFollowers = new List<Follower>
|
||||||
|
@ -192,7 +192,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
var processor = new FollowerModerationProcessor(followersDalMock.Object, moderationRepositoryMock.Object, removeFollowerActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.BlackListing);
|
await processor.ProcessAsync(ModerationTypeEnum.BlockListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
followersDalMock.VerifyAll();
|
followersDalMock.VerifyAll();
|
||||||
|
|
|
@ -33,7 +33,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_WhiteListing_WhiteListed()
|
public async Task ProcessAsync_AllowListing_AllowListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allUsers = new List<SyncTwitterUser>
|
var allUsers = new List<SyncTwitterUser>
|
||||||
|
@ -56,13 +56,13 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
.Setup(x => x.CheckStatus(
|
.Setup(x => x.CheckStatus(
|
||||||
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.TwitterAccount),
|
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.TwitterAccount),
|
||||||
It.Is<string>(y => y == "acct")))
|
It.Is<string>(y => y == "acct")))
|
||||||
.Returns(ModeratedTypeEnum.WhiteListed);
|
.Returns(ModeratedTypeEnum.AllowListed);
|
||||||
|
|
||||||
var removeTwitterAccountActionMock = new Mock<IRemoveTwitterAccountAction>(MockBehavior.Strict);
|
var removeTwitterAccountActionMock = new Mock<IRemoveTwitterAccountAction>(MockBehavior.Strict);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.WhiteListing);
|
await processor.ProcessAsync(ModerationTypeEnum.AllowListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
twitterUserDalMock.VerifyAll();
|
twitterUserDalMock.VerifyAll();
|
||||||
|
@ -72,7 +72,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_WhiteListing_NotWhiteListed()
|
public async Task ProcessAsync_AllowListing_NotAllowListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allUsers = new List<SyncTwitterUser>
|
var allUsers = new List<SyncTwitterUser>
|
||||||
|
@ -105,7 +105,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.WhiteListing);
|
await processor.ProcessAsync(ModerationTypeEnum.AllowListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
twitterUserDalMock.VerifyAll();
|
twitterUserDalMock.VerifyAll();
|
||||||
|
@ -115,7 +115,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_BlackListing_BlackListed()
|
public async Task ProcessAsync_BlockListing_BlockListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allUsers = new List<SyncTwitterUser>
|
var allUsers = new List<SyncTwitterUser>
|
||||||
|
@ -138,7 +138,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
.Setup(x => x.CheckStatus(
|
.Setup(x => x.CheckStatus(
|
||||||
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.TwitterAccount),
|
It.Is<ModerationEntityTypeEnum>(y => y == ModerationEntityTypeEnum.TwitterAccount),
|
||||||
It.Is<string>(y => y == "acct")))
|
It.Is<string>(y => y == "acct")))
|
||||||
.Returns(ModeratedTypeEnum.BlackListed);
|
.Returns(ModeratedTypeEnum.BlockListed);
|
||||||
|
|
||||||
var removeTwitterAccountActionMock = new Mock<IRemoveTwitterAccountAction>(MockBehavior.Strict);
|
var removeTwitterAccountActionMock = new Mock<IRemoveTwitterAccountAction>(MockBehavior.Strict);
|
||||||
removeTwitterAccountActionMock
|
removeTwitterAccountActionMock
|
||||||
|
@ -148,7 +148,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.BlackListing);
|
await processor.ProcessAsync(ModerationTypeEnum.BlockListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
twitterUserDalMock.VerifyAll();
|
twitterUserDalMock.VerifyAll();
|
||||||
|
@ -158,7 +158,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task ProcessAsync_BlackListing_NotBlackListed()
|
public async Task ProcessAsync_BlockListing_NotBlockListed()
|
||||||
{
|
{
|
||||||
#region Stubs
|
#region Stubs
|
||||||
var allUsers = new List<SyncTwitterUser>
|
var allUsers = new List<SyncTwitterUser>
|
||||||
|
@ -187,7 +187,7 @@ namespace BirdsiteLive.Moderation.Tests.Processors
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
var processor = new TwitterAccountModerationProcessor(twitterUserDalMock.Object, moderationRepositoryMock.Object, removeTwitterAccountActionMock.Object);
|
||||||
await processor.ProcessAsync(ModerationTypeEnum.BlackListing);
|
await processor.ProcessAsync(ModerationTypeEnum.BlockListing);
|
||||||
|
|
||||||
#region Validations
|
#region Validations
|
||||||
twitterUserDalMock.VerifyAll();
|
twitterUserDalMock.VerifyAll();
|
||||||
|
|
Loading…
Reference in New Issue