/// <summary> /// Inicializácia novej inštancie <see cref="BuildAdapter"/> triedy /// </summary> /// <param name="httpAdapter">Http adaptér</param> /// <exception cref="ArgumentNullException">Hodený ArgumentNullException v prípade, že httpAdapter sa rovná null.</exception> public BuildAdapter(IHttpAdapter httpAdapter) { if (httpAdapter == null) { throw new ArgumentNullException("The ArgumentNullException was not throwed in case of httpAdapter is equal to null."); } this.httpAdapter = httpAdapter; }
public MessageQueue(DotQueueAddress address, IApiTokenSource tokenSource = null) { _tokenSource = tokenSource; _httpAdapter = new HttpAdapter <T>(address, new JsonSerializer <T>(), new JsonSerializer <Message>(), _tokenSource); _listenerAdapter = new ListenerAdapter <T>(); _portResolver = new LocalPortResolver(); _durationHelper = new WaitDurationHelper(); InitializeQueueTasks(address); }
public void Setup() { _durationHelper = Substitute.For <IWaitDurationHelper>(); _durationHelper.SubscribtionRenewalSpan().Returns(TimeSpan.FromMilliseconds(100)); _portResolver = Substitute.For <ILocalPortResolver>(); _portResolver.FindFreePort().Returns(_defaultLocalPort); _listenerAdapter = Substitute.For <IListenerAdapter <Profile> >(); _httpAdapter = Substitute.For <IHttpAdapter <Profile> >(); _messageQueue = new MessageQueue <Profile>(_defaultAddress, _httpAdapter, _listenerAdapter, _portResolver, _durationHelper); }
internal MessageQueue(DotQueueAddress address, IHttpAdapter <T> httpAdapter, IListenerAdapter <T> listenerAdapter, ILocalPortResolver portResolver, IWaitDurationHelper durationHelper) { _durationHelper = durationHelper; _portResolver = portResolver; _listenerAdapter = listenerAdapter; _httpAdapter = httpAdapter; InitializeQueueTasks(address); }
public static IClient FromSettingsFile(string path, IHttpAdapter adapter) { var settings = new ConfigurationBuilder().AddJsonFile(path).Build(); var port = System.Convert.ToInt32(settings["PORT"]); var client = new Client(settings["SCHEME"], settings["HOST"], port, settings["SERVER_KEY"], adapter); if (System.Convert.ToBoolean(settings["STDOUT"])) { client.Logger = new StdoutLogger(); } return(client); }
public void TriggerBuild() { IHttpAdapter httpAdapter = Mock.Create <IHttpAdapter>(); Mock.Arrange(() => httpAdapter.Post(Arg.AnyString, Arg.AnyString)).Returns("SUCCESS"); var buildAdapter = new BuildAdapter(httpAdapter, JenkinsTestData.JenkinsUrl, JenkinsTestData.ProjectName); string response = buildAdapter.TriggerBuild(string.Empty); Assert.AreEqual <string>( "SUCCESS", response, "The build was not triggered successfully."); }
public void GetSpecificBuildStatusXml() { IHttpAdapter httpAdapter = Mock.Create <IHttpAdapter>(); Mock.Arrange(() => httpAdapter.Get(Arg.IsAny <string>())).Returns(JenkinsTestData.SpecificBuildXml); var buildAdapter = new BuildAdapter(httpAdapter, JenkinsTestData.JenkinsUrl, JenkinsTestData.ProjectName); string buildStatus = buildAdapter.GetSpecificBuildStatusXml(string.Empty); Assert.AreEqual <string>( JenkinsTestData.SpecificBuildXml, buildStatus, "The returned build status was incorrect."); }
public void GetNextBuildNumber() { IHttpAdapter httpAdapter = Mock.Create <IHttpAdapter>(); Mock.Arrange(() => httpAdapter.Get(Arg.IsAny <string>())).Returns(JenkinsTestData.BuildStatusXml); var jenkinsBuild = new BuildService(new BuildAdapter(httpAdapter, JenkinsTestData.JenkinsUrl, JenkinsTestData.ProjectName)); string nextBuildNumber = jenkinsBuild.GetNextBuildNumber(); Assert.AreEqual <string>( "35", nextBuildNumber, "The returned next build number was not correct."); }
/// <summary> /// Inicializácia novej inštancie <see cref="BuildAdapter"/> triedy. /// </summary> /// <param name="httpAdaper">Http pomocník.</param> /// <param name="jenkinsUrl">Jenkins URL.</param> /// <param name="projectName">Názov projektu.</param> public BuildAdapter(IHttpAdapter httpAdaper, string jenkinsUrl, string projectName) : this(httpAdaper) { if (string.IsNullOrEmpty(jenkinsUrl)) { throw new ArgumentNullException("The ArgumentNullException was not throwed in case of empty Jenkins Service URL."); } if (string.IsNullOrEmpty(projectName)) { throw new ArgumentNullException("The ArgumentNullException was not throwed in case of empty project name."); } this.jenkinsUrl = jenkinsUrl; this.projectName = projectName; this.buildStatusUrl = this.GenerateBuildStarusUrl(jenkinsUrl, projectName); this.paramQueueBuilderUrl = this.GenerateParamQueueBuidlUrl(jenkinsUrl, projectName); }
public void ThrowException_WhenNoBuildIsQueued() { IHttpAdapter httpAdapter = Mock.Create <IHttpAdapter>(); string newSpecificBuildXml = JenkinsTestData.SpecificBuildXml.Replace( "<value>7757ae58-5ba5-4690-b49c-997779f62338</value>", "<value>5ba5-4690-b49c-997779f62338</value>"); Mock.Arrange(() => httpAdapter.Get(Arg.IsAny <string>())).Returns(newSpecificBuildXml); var buildAdapter = new BuildAdapter(httpAdapter, JenkinsTestData.JenkinsUrl, JenkinsTestData.ProjectName); buildAdapter.GetQueuedBuildNumber( JenkinsTestData.BuildStatusSingleBuildNodeXml, "7757ae58-5ba5-4690-b49c-997779f62338"); }
public void GetQueuedBuildNumber_WhenSingleBuildNodeUsed() { IHttpAdapter httpAdapter = Mock.Create <IHttpAdapter>(); Mock.Arrange(() => httpAdapter.Get(Arg.IsAny <string>())).Returns(JenkinsTestData.SpecificBuildXml); var buildAdapter = new BuildAdapter(httpAdapter, JenkinsTestData.JenkinsUrl, JenkinsTestData.ProjectName); int nextBuildNumber = buildAdapter.GetQueuedBuildNumber( JenkinsTestData.BuildStatusSingleBuildNodeXml, "7757ae58-5ba5-4690-b49c-997779f62338"); Assert.AreEqual <int>( 1, nextBuildNumber, "The returned next build number was not correct."); }
/// <summary> /// Performs an in-place copy of data from Nakama's error response into /// the data dictionary of an <see cref="Nakama.ApiResponseException"/>. /// </summary> /// <param name="adapter">The adapter receiving the error response.</param> /// <param name="err"> The decoded error field from the server response.</param> /// <param name="e"> The exception whose data dictionary is being written to.</param> public static void CopyResponseError(this IHttpAdapter adapter, object err, ApiResponseException e) { var errString = err as string; var errDict = err as Dictionary <string, object>; if (errString != null) { e.Data["error"] = err; } else if (errDict != null) { foreach (KeyValuePair <string, object> keyVal in errDict) { e.Data[keyVal.Key] = keyVal.Value; } } }
public void GetQueuedBuildNumber_WhenTwoBuildNodesUsed() { IHttpAdapter httpHelper = Mock.Create <IHttpAdapter>(); Mock.Arrange(() => httpHelper.Get(Arg.Is <string>(@"http://*****:*****@"http://localhost:8080/job/Jenkins-CSharp-Api.Parameterized/1/api/xml"))).Returns(newSpecificBuildXml); Mock.Arrange(() => httpHelper.Get(Arg.Is <string>(@"http://localhost:8080/job/Jenkins-CSharp-Api.Parameterized/2/api/xml"))).Returns(newSpecificBuildXml); var buildAdapter = new BuildAdapter(httpHelper, JenkinsTestData.JenkinsUrl, JenkinsTestData.ProjectName); int nextBuildNumber = buildAdapter.GetQueuedBuildNumber( JenkinsTestData.BuildStatusXml, "7757ae58-5ba5-4690-b49c-997779f62338"); Assert.AreEqual <int>( 34, nextBuildNumber, "The returned next build number was not correct."); }
public PrintersClient(IHttpAdapter <PrintersClient> httpAdapter) { _httpAdapter = httpAdapter; }
public SystemClient(IHttpAdapter <SystemClient> httpAdapter) { _httpAdapter = httpAdapter; }
public BingService(IHttpAdapter httpAdapter, IFileStreamAdapter streamAdapter) { _httpAdapter = httpAdapter; _streamAdapter = streamAdapter; }