fix(installer): use {autodesktop} for per-user desktop shortcut safety and fix IPersistFile 0x80070005 error
Some checks failed
release / test (push) Failing after 13m30s
release / macos (push) Has been cancelled
release / windows (push) Has been cancelled
release / android (push) Has been cancelled
release / linux (push) Has been cancelled

This commit is contained in:
Yun Chan 2026-09-19 08:25:34 +09:00
parent 86e59f1e94
commit 3ac77180b4
9 changed files with 153 additions and 14 deletions

View file

@ -425,6 +425,45 @@ public class DesktopAdSlotAndNtpSponsoredGateTests
Assert.Contains("data-ad-client=\"ca-pub-1039714767792854\"", adsenseSnippet);
Assert.Contains("data-ad-slot=\"4387520844\"", adsenseSnippet);
}
[Fact]
public void Gate214_RealGoogleAds_AdSense_ProductionSnippets_And_DomainOrigin_Audit()
{
// 1. 프로덕션 모드 DesktopAdManager 생성 시 실제 단위 슬롯이 주입되어야 함
var prodConfig = DesktopAdConfig.PacaProduction with { ForceTestAds = false };
var adManager = new DesktopAdManager(prodConfig);
var bottomAd = adManager.GetAdForPlacement(DesktopAdPlacement.BottomAppBanner);
Assert.NotNull(bottomAd);
Assert.True(bottomAd.IsRealAd);
Assert.Equal("ca-app-pub-1039714767792854/4387520844", bottomAd.AdUnitId);
Assert.NotNull(bottomAd.HtmlEmbedSnippet);
Assert.Contains("ca-pub-1039714767792854", bottomAd.HtmlEmbedSnippet);
Assert.Contains("4387520844", bottomAd.HtmlEmbedSnippet);
Assert.Contains("pagead2.googlesyndication.com/pagead/js/adsbygoogle.js", bottomAd.HtmlEmbedSnippet);
var dlAd = adManager.GetAdForPlacement(DesktopAdPlacement.DownloadViewBanner);
Assert.NotNull(dlAd);
Assert.True(dlAd.IsRealAd);
Assert.Equal("ca-app-pub-1039714767792854/1521297311", dlAd.AdUnitId);
Assert.NotNull(dlAd.HtmlEmbedSnippet);
Assert.Contains("ca-pub-1039714767792854", dlAd.HtmlEmbedSnippet);
Assert.Contains("1521297311", dlAd.HtmlEmbedSnippet);
Assert.Contains("pagead2.googlesyndication.com/pagead/js/adsbygoogle.js", dlAd.HtmlEmbedSnippet);
// 2. DesktopAdConfig.GenerateProductionAdSnippet 검증
var snippet = DesktopAdConfig.GenerateProductionAdSnippet("ca-app-pub-1039714767792854/4387520844", 728, 90, "div-bottom");
Assert.Contains("ca-pub-1039714767792854", snippet);
Assert.Contains("data-ad-slot=\"4387520844\"", snippet);
Assert.Contains("data-ad-status", snippet);
// 3. DesktopAdBannerControl.xaml.cs에서 실 도메인 mediabrowser.chanpaca.net 및 크롬 User-Agent 감사
var bannerCsPath = Path.Combine(AppDir, "Controls", "DesktopAdBannerControl.xaml.cs");
var bannerCs = File.ReadAllText(bannerCsPath);
Assert.Contains("mediabrowser.chanpaca.net", bannerCs);
Assert.Contains("Chrome/130", bannerCs);
Assert.Contains("Settings.UserAgent", bannerCs);
}
}