public void Init() { const string appName = "RemoteServiceTest"; var remote = new RemoteRepository { DiscoveryUri = new Uri("http://10.0.2.2:9000/"), LocalCache = new SqliteObjectCache {ApplicationName = appName}, ClientId = Environment.GetEnvironmentVariable("SentinelClientId"), UserAccount = new UserAccount { Username = Environment.GetEnvironmentVariable("SentinelUsername"), Password = Environment.GetEnvironmentVariable("SentinelPassword"), } }; var local = new LocalRepository { ApplicationName = appName }; Service = new StorageService { LocalRepository = local, RemoteRepository = remote }; Service.Delete<Company>().Wait(); Service.Delete<Vat>().Wait(); }
IEnumerable<RemoteEndpointData> BuildEndpoints(RemoteRepository value) { if (value.FetchRepository != null) yield return BuildEndpointData(value.FetchRepository, "fetch"); foreach (var ep in value.PublishRepositories) yield return BuildEndpointData(ep, "publish"); }
public void DefaultRemoteServiceProperties() { var r = new RemoteRepository(); Assert.That(r.DiscoveryUri.ToString(), Is.EqualTo("http://10.0.2.2:9000/")); var defaultUri = r.DiscoveryUri; r.DiscoveryUri = new Uri("http://localhost:9000/"); r.RestoreDefaults(); Assert.That(r.DiscoveryUri.ToString(), Is.EqualTo(defaultUri)); }
IEnumerable<ICommandOutput> AddRemote() { var repositories = ConfigurationManager.LoadRemoteRepositories(); repositories[Name] = new RemoteRepository { Href = Href, Name = Name }; ConfigurationManager.SaveRemoteRepositories(repositories); yield return new GenericMessage(string.Format("Remote repository '{0}' added.", Name)); }
public SiteConfiguration(IApplication application, ICredentialProvider credentialProvider) { ServiceUrl = application.ServiceUrl; SiteUrl = application.SiteUrl; Name = application.Name; // This is to work around a SignalR bug where the hub is still created // even if IDisconnect isn't implemented if (String.IsNullOrEmpty(ServiceUrl)) { return; } SiteConfiguration config; if (_cache.TryGetValue(ServiceUrl, out config)) { Repository = config.Repository; ProjectSystem = config.ProjectSystem; DevProjectSystem = config.DevProjectSystem; DeploymentManager = config.DeploymentManager; CommandExecutor = config.CommandExecutor; DevCommandExecutor = config.DevCommandExecutor; } else { var repository = new RemoteRepository(ServiceUrl + "scm"); repository.Credentials = credentialProvider.GetCredentials(); Repository = repository; var projectSystem = new RemoteProjectSystem(ServiceUrl + "live/files"); projectSystem.Credentials = credentialProvider.GetCredentials(); ProjectSystem = projectSystem; var devProjectSystem = new RemoteProjectSystem(ServiceUrl + "dev/files"); devProjectSystem.Credentials = credentialProvider.GetCredentials(); DevProjectSystem = devProjectSystem; SubscribeToEvents(credentialProvider); _cache[ServiceUrl] = this; } }
public ActionResult <IEnumerable <RemoteRepository> > PostRemoteRepository(RemoteRepository remoteRepository) { //先取得資料庫內已有的倉儲資料 IEnumerable <RemoteRepository> allRemoteRepositories = GetAllRemoteRepository().Result.Value; RemoteRepositoryService remoteRepositoryService = new RemoteRepositoryService(); //檢查是否重複新增 var exist = remoteRepositoryService.CheckRomoteRepository(remoteRepository.RemoteRepositoryUrl, allRemoteRepositories); if (exist) { string error = "此倉儲已經存在"; return(StatusCode(StatusCodes.Status405MethodNotAllowed, error)); } else { //在本地端clone專案 GitCommandService gitCommandService = new GitCommandService(); var cloneResult = gitCommandService.ExcuteCommand(new GitCommandInfo { Command = "clone", GitUrl = remoteRepository.RemoteRepositoryUrl, FilePath = ProjectPath.Path }); //在資料庫新增此倉儲資料 if (cloneResult.IsSuccessful) { remoteRepository.RemoteRepositoryId = Guid.NewGuid(); remoteRepository.ServerPath = cloneResult.Result + "/" + remoteRepositoryService.GetFolderName(remoteRepository.RemoteRepositoryUrl); remoteRepositoryRepository.Create(remoteRepository); return(CreatedAtAction(nameof(GetAllRemoteRepository), remoteRepository)); } else { //當clone失敗 return(StatusCode(StatusCodes.Status405MethodNotAllowed, cloneResult.ErrorMessage)); } //return CreatedAtAction(nameof(GetRemoteRepository), GetRemoteRepository().Result.Value); } }
public void CanHandleDisabledHTTPS() { // Setup string server = "server_test"; string owner = "owner_test"; string repoName = "repo_name"; var authInfo = new AuthInfo() { Decoded = "authInfo" }; // Act RemoteRepository repo = new RemoteRepository(server, owner, repoName, authInfo, true); // Setup Assert.AreEqual(server, repo.Server); Assert.AreEqual(owner, repo.Owner); Assert.AreEqual(repoName, repo.Name); Assert.AreEqual(authInfo, repo.Auth); Assert.AreEqual($"http://{server}/{owner}/{repoName}", repo.Url); Assert.AreEqual($"http://{authInfo.Decoded}@{server}/{owner}/{repoName}", repo.GitUrl); } /* End of Function - CanHandleDisabledHTTPS */
public void DefaultsCorrectly() { // Setup string server = "server_test"; string owner = "owner_test"; string repoName = "repo_name"; var authInfo = new AuthInfo() { Decoded = "authInfo" }; // Act RemoteRepository repo = new RemoteRepository(server, owner, repoName, authInfo, false); // Setup Assert.AreEqual(server, repo.Server); Assert.AreEqual(owner, repo.Owner); Assert.AreEqual(repoName, repo.Name); Assert.AreEqual(authInfo, repo.Auth); Assert.AreEqual($"https://{server}/{owner}/{repoName}", repo.Url); Assert.AreEqual($"https://{authInfo.Decoded}@{server}/{owner}/{repoName}", repo.GitUrl); } /* End of Function - DefaultsCorrectly */
protected void given_remote_repository(string configName, int?priority = null, Action <InMemoryRepository> factory = null) { var repo = new InMemoryRepository(configName); if (factory != null) { factory(repo); } RemoteRepositories.Add(repo); ConfiguredRemotes[configName] = new RemoteRepository { Priority = priority ?? ConfiguredRemotes.Count + 1, FetchRepository = new RemoteRepositoryEndpoint { Token = repo.Token }, PublishRepositories = { new RemoteRepositoryEndpoint { Token = repo.Token } }, Name = configName }; ServiceLocator.GetService <IConfigurationManager>().Save(ConfiguredRemotes); }
RemoteRepositories LoadRemotes() { var remotes = _configurationManager.Load <RemoteRepositories>(); if (ReferenceEquals(remotes, RemoteRepositories.Default)) { var legacyRemotes = _configurationManager.Load <Configuration.Remotes.Legacy.RemoteRepositories>(); if (legacyRemotes != null) { remotes.Clear(); foreach (var legacy in legacyRemotes) { var repo = FromInput(legacy.Value.Href.ToString()); if (repo == null) { continue; } var newRemote = new RemoteRepository { Name = legacy.Key, Priority = legacy.Value.Priority, FetchRepository = new RemoteRepositoryEndpoint { Token = repo.Token } }; if (repo.Feature <ISupportPublishing>() != null) { newRemote.PublishRepositories.Add(new RemoteRepositoryEndpoint { Token = repo.Token }); } remotes.Add(newRemote); } _configurationManager.Save(remotes); } } return(remotes); }
void Start() { var repository = new RemoteRepository <Identity>(); //Proxy Proxy.Instance.SetTarget(repository) .SetMethod("Test") .SetArgs(new object[] {}) .SetInvocationHandler(new LogInvocationHandler()) .Invoke(); //Loding repository.Get <Response <User> >("http://localhost/User/List", new Identity() { DeviceId = SystemInfo.deviceUniqueIdentifier, Token = TokenHelper.Create() }, (response) => { Debug.Log(response.Items[0].Address.Name); stop = true; }); }
public RemoteRepositoryMessage(ICommand sourceCommand, string name, RemoteRepository remoteRepository) { Name = name; RemoteRepository = remoteRepository; Source = sourceCommand; }
public void ThrowsWhenConfigIsInvalid() { var remoteRepo = new RemoteRepository("server", "owner", "name", null); var localRepo = new LocalRepository(remoteRepo, null); } /* End of Function - ThrowsWhenConfigIsInvalid */
//实现写入缓存共有类 public void setCache(string r) { var repository = new RemoteRepository <GetStruct>(); var version = new DbRepository <TableVersions>(); version.DataService("vesali.db"); version.CreateTable(); TableVersions tv = version.SelectOne <TableVersions>((tmpT) => { if (tmpT.table_name == typeof(T).Name) { return(true); } return(false); }); var struct_version = "-1"; if (tv != null) { struct_version = tv.version; } //var os = "ios"; //if (PublicClass.platform == asset_platform.android) //{ // os = "android"; //} //Debug.Log("===当前请求的地址是====" + r + "===当前泛型指定的实例为====" + typeof(T).Name + " ====当前版本===" + struct_version); //vesal_log.vesal_write_log(SystemInfo.deviceUniqueIdentifier+"--------------------------------------------------------设备唯一号"); // Debug.Log(SystemInfo.deviceUniqueIdentifier+"--------------------------------------------------------设备唯一号"); // Debug.Log("======== "+ (int)PublicClass.Quality);//, level = (int)PublicClass.Quality ?Version=2&softVersion=2.3&os=android&level=1 Debug.Log(r); repository.Get <Response <T> >(r, new GetStruct { Version = struct_version, device = SystemInfo.deviceUniqueIdentifier, os = Enum.GetName(typeof(asset_platform), PublicClass.platform), level = ((int)PublicClass.Quality).ToString(), softVersion = PublicClass.get_version() }, (response) => { if (response.List != null && response.List.Count != 0) { Debug.Log("============读取数据库缓存更新,从远程拉取数据,更新版本号=================== " + typeof(T).Name); //如果有数据,更新数据和版本 if (tv == null) { version.Insert(new TableVersions { table_name = typeof(T).Name, version = response.maxVersion }); } else { version.Update(new TableVersions { table_name = typeof(T).Name, version = response.maxVersion }); } version.Close(); var db = new DbRepository <T>(); db.DataService("vesali.db"); db.DropTable(); db.CreateTable(); db.InsertAll(response.List); //更新远程数据源 db.Close(); } else { Debug.Log("Struct List data is null " + struct_version + " " + response.maxVersion); // Debug.Log("============读取数据库缓存=================== "); //读取数据库缓存 } PublicClass.data_list_count++; }); //throw new NotImplementedException(); }
private void CheckUpdate(bool showResult) { var assem = Assembly.GetEntryAssembly(); var assemName = assem.GetName(); var ver = assemName.Version; var platform = "x86"; if (Tools.Is64BitProcess) { platform = "x64"; } Logger.Instance().Log("Yatse2", "Checking for updates. Current version : " + ver, true); _allowBeta = File.Exists(Helper.AppPath + "Yatse2.beta"); var repo = new RemoteRepository(); repo.SetDebug(_config.Debug); if (!repo.LoadRepository(Repository, platform, Helper.AppPath + "Updates")) { if (showResult) { ShowOkDialog(GetLocalizedString(114)); } return; } var result = repo.UpdateTranslations(Helper.LangPath); if (result) { if (showResult) { ShowOkDialog(GetLocalizedString(115)); } RefreshDictionaries(); } var versions = repo.GetBuildList(_allowBeta); if (versions == null) { Logger.Instance().Log("Yatse2", "Build list empty !", true); if (showResult) { ShowOkDialog(GetLocalizedString(114)); } } else { if (versions.Version.Count < 1) { Logger.Instance().Log("Yatse2", "Build list empty !", true); if (showResult) { ShowOkDialog(GetLocalizedString(114)); } } else { var lastBuild = versions.Version[versions.Version.Count - 1]; if (ver.Build >= lastBuild.Build) { Logger.Instance().Log("Yatse2", "Version is up2date!", true); if (showResult) { ShowOkDialog(GetLocalizedString(113)); } } else { Logger.Instance().Log("Yatse2", "Update available : " + lastBuild.Build, true); var res = ShowYesNoDialog(GetLocalizedString(109)); if (res) { Directory.CreateDirectory(Helper.AppPath + "Temp"); if (GetUpdater()) { Process.Start(Helper.AppPath + @"Temp\Yatse2Setup.exe"); Close(); } else { ShowOkDialog(GetLocalizedString(101)); } } } } } repo.CleanTemporary(); }
public async Task LoginAndLogout() { var username = Environment.GetEnvironmentVariable("SentinelUsername"); var password = Environment.GetEnvironmentVariable("SentinelPassword"); var remote = Service.RemoteRepository; Assert.That( await remote.Login(new UserAccount() { Username = "******", Password = "******" }, false), Is.False); Assert.That(remote.UserAccount.Username, Is.EqualTo(username)); Assert.That(remote.UserAccount.Password, Is.EqualTo(password)); remote.UserAccount.Username = "******"; remote.UserAccount.Password = "******"; Assert.That(await remote.Login(false), Is.False); Assert.That(await remote.Login(true), Is.False); var challenge = new RemoteRepository() {LocalCache = Service.RemoteRepository.LocalCache}; Assert.That(challenge.UserAccount.LoggedIn, Is.False); Assert.That(challenge.UserAccount.Username, Is.Null); remote.UserAccount.Username = null; Assert.That(async() => await remote.Login(false), Throws.TypeOf<ArgumentNullException>()); remote.UserAccount.Username = username; remote.UserAccount.Password = null; Assert.That(async() => await remote.Login(false), Throws.TypeOf<ArgumentNullException>()); remote.UserAccount.Username = username; remote.UserAccount.Password = password; remote.UserAccount.ActiveCompany = new Company() {Name = "c1"}; Assert.That(await remote.Login(false), Is.True); challenge = new RemoteRepository() {LocalCache = Service.RemoteRepository.LocalCache}; Assert.That(challenge.UserAccount.LoggedIn, Is.False); Assert.That(challenge.UserAccount.Username, Is.Null); Assert.That(await remote.Login(true), Is.True); challenge = new RemoteRepository() {LocalCache = Service.RemoteRepository.LocalCache}; Assert.That(challenge.UserAccount.Username, Is.EqualTo(username)); Assert.That(challenge.UserAccount.Password, Is.EqualTo(password)); Assert.That(challenge.UserAccount.LoggedIn, Is.True); Assert.That(challenge.UserAccount.ActiveCompany, Is.Not.Null); Assert.That(challenge.UserAccount.ActiveCompany.Name, Is.EqualTo("c1")); await remote.Logout(); Assert.That(remote.UserAccount.Username, Is.Null); Assert.That(remote.UserAccount.Password, Is.Null); Assert.That(remote.UserAccount.ActiveCompany, Is.Null); Assert.That(remote.UserAccount.LoggedIn, Is.False); challenge = new RemoteRepository() {LocalCache = Service.RemoteRepository.LocalCache}; Assert.That(challenge.UserAccount.Username, Is.Null); Assert.That(challenge.UserAccount.Password, Is.Null); Assert.That(challenge.UserAccount.ActiveCompany, Is.Null); Assert.That(challenge.UserAccount.LoggedIn, Is.False); }
static IPackageRepository InjectConfigName(RemoteRepository config, IPackageRepository endpoint) { return(new NameTaggedRepository(endpoint, name => config.Name.EqualsNoCase(name) ? name : string.Format("{0} - {1}", config.Name, name))); }
public MainWindow() { InitializeComponent(); remoteRepository = new RemoteRepository(this); listBox.ItemsSource = remoteRepository.books; }
public RemoteRepositoryMessage(ICommand sourceCommand, string name, RemoteRepository remoteRepository) { Name = name; RemoteRepository = remoteRepository; Source = sourceCommand; }
public void ThrowsForInvalidName() { var auth = new RemoteRepository("", "", null, new AuthInfo()); } /* End of Function - ThrowsForInvalidName */
public void ThrowsForInvalidServer() { var auth = new RemoteRepository(null, "", "", new AuthInfo()); } /* End of Function - ThrowsForInvalidServer */
/// <summary> /// Fetches the total number of items available. /// </summary> /// <returns></returns> public int FetchCount() { return(RemoteRepository.CreateQuery <Developer>(new DemoChannelProvider()) .Count()); }
public void LoadAll() { RemoteRepository .CreateQuery <User>(new TestChannelProvider()) .ToList(); }