//using DistTestCore.Codex; //namespace DistTestCore.Marketplace //{ // public interface IMarketplaceAccessFactory // { // IMarketplaceAccess CreateMarketplaceAccess(CodexAccess access); // } // public class MarketplaceUnavailableAccessFactory : IMarketplaceAccessFactory // { // public IMarketplaceAccess CreateMarketplaceAccess(CodexAccess access) // { // return new MarketplaceUnavailable(); // } // } // public class GethMarketplaceAccessFactory : IMarketplaceAccessFactory // { // private readonly TestLifecycle lifecycle; // private readonly MarketplaceNetwork marketplaceNetwork; // public GethMarketplaceAccessFactory(TestLifecycle lifecycle, MarketplaceNetwork marketplaceNetwork) // { // this.lifecycle = lifecycle; // this.marketplaceNetwork = marketplaceNetwork; // } // public IMarketplaceAccess CreateMarketplaceAccess(CodexAccess access) // { // var companionNode = GetGethCompanionNode(access); // return new MarketplaceAccess(lifecycle, marketplaceNetwork, companionNode, access); // } // private GethAccount GetGethCompanionNode(CodexAccess access) // { // var account = access.Container.Recipe.Additionals.Single(a => a is GethAccount); // return (GethAccount)account; // } // } //}