- SiteInfo record added to Core/Models - ISiteListService interface with GetSitesAsync signature - SiteListService derives admin URL via Regex, connects via SessionManager - Filters to Active sites only, excludes OneDrive personal (-my.sharepoint.com) - Access denied ServerException wrapped as InvalidOperationException with actionable message - DeriveAdminUrl marked internal static for unit testability - InternalsVisibleTo added to AssemblyInfo.cs to expose internal to test project - 2 DeriveAdminUrl tests pass; full suite: 53 pass, 4 skip, 0 fail
12 lines
273 B
C#
12 lines
273 B
C#
using SharepointToolbox.Core.Models;
|
|
|
|
namespace SharepointToolbox.Services;
|
|
|
|
public interface ISiteListService
|
|
{
|
|
Task<IReadOnlyList<SiteInfo>> GetSitesAsync(
|
|
TenantProfile profile,
|
|
IProgress<OperationProgress> progress,
|
|
CancellationToken ct);
|
|
}
|