64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
using Paca.Browser.Tabs;
|
|
using Xunit;
|
|
|
|
namespace Paca.Tests.Browser;
|
|
|
|
public class ChromeSiteSecurityEvaluatorTests
|
|
{
|
|
[Theory]
|
|
[InlineData("https://www.google.com")]
|
|
[InlineData("https://github.com/Video-Downloader")]
|
|
[InlineData("https://youtube.com/watch?v=123")]
|
|
public void Evaluate_ReturnsSecure_ForHttps(string url)
|
|
{
|
|
var status = SiteSecurityEvaluator.Evaluate(url);
|
|
|
|
Assert.True(status.IsSecure);
|
|
Assert.False(status.IsInsecure);
|
|
Assert.False(status.IsInternal);
|
|
Assert.Equal("\uE72E", status.Glyph);
|
|
Assert.Contains("보안 연결됨", status.StatusText);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("http://neverssl.com")]
|
|
[InlineData("http://example.com/test")]
|
|
public void Evaluate_ReturnsInsecure_ForHttp(string url)
|
|
{
|
|
var status = SiteSecurityEvaluator.Evaluate(url);
|
|
|
|
Assert.False(status.IsSecure);
|
|
Assert.True(status.IsInsecure);
|
|
Assert.False(status.IsInternal);
|
|
Assert.Equal("\uE7BA", status.Glyph);
|
|
Assert.Contains("주의 요함", status.StatusText);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("paca://settings")]
|
|
[InlineData("paca://newtab")]
|
|
[InlineData("chrome://downloads")]
|
|
[InlineData("about:blank")]
|
|
public void Evaluate_ReturnsInternal_ForSystemPages(string url)
|
|
{
|
|
var status = SiteSecurityEvaluator.Evaluate(url);
|
|
|
|
Assert.False(status.IsSecure);
|
|
Assert.False(status.IsInsecure);
|
|
Assert.True(status.IsInternal);
|
|
Assert.Equal("\uE83D", status.Glyph);
|
|
Assert.Contains("시스템", status.StatusText);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("")]
|
|
[InlineData(" ")]
|
|
[InlineData(null)]
|
|
public void Evaluate_HandlesNullAndEmptySafely(string? url)
|
|
{
|
|
var status = SiteSecurityEvaluator.Evaluate(url);
|
|
|
|
Assert.NotNull(status);
|
|
Assert.True(status.IsInternal);
|
|
}
|
|
}
|