protected internal IMdContentProvider GetContentProvider() { // see if git is being used or just the file system // if the config has a value for gitUri then its git IMdContentProvider result = null; MdContentProviderType mdProviderType = fainting.goat.common.Config.GetContentProviderTypeFromConfig(this.Config); if (mdProviderType == MdContentProviderType.Git) { result = new GitMdContentProvier( KernelManager.GetKernel().Get <GitHelper>(), this.Config, this.LocalRepoPath); } else if (mdProviderType == MdContentProviderType.FileSystem) { result = new FileSystemMdContentProvider(); } else { string message = string.Format("Unknown MdContentProviderType [{0}]", mdProviderType); // TODO: Change provider type here throw new ApplicationException(message); } return(result); }
public void ReturnsFileSystemWhenConfigDoesNotHaveGirUrl() { var mockConfig = new Mock <IConfig>(); mockConfig.Setup(config => config .GetConfigValue(It.IsAny <string>())) .Returns <string>(s => { return(null); }); MdContentProviderType mdType = Config.GetContentProviderTypeFromConfig(mockConfig.Object); Assert.AreEqual(MdContentProviderType.FileSystem, mdType); }
public void ReturnsGitWhenConfigHasGitUrl() { var mockConfig = new Mock <IConfig>(); // for moq you have to specify default params http://code.google.com/p/moq/issues/detail?id=284 mockConfig.Setup(config => config .GetConfigValue(It.IsAny <string>())) .Returns <string>(s => { string retValue = null; if (string.Compare(s, CommonConsts.AppSettings.GitUri, System.StringComparison.OrdinalIgnoreCase) == 0) { retValue = @"https://github.com/sayedihashimi/publish-samples.git"; } return(retValue); }); MdContentProviderType mdType = Config.GetContentProviderTypeFromConfig(mockConfig.Object); Assert.AreEqual(MdContentProviderType.Git, mdType); }