コード例 #1
0
 /// <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;
 }
コード例 #2
0
ファイル: MessageQueue.cs プロジェクト: qcjxberin/DotQueue
 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);
 }
コード例 #3
0
 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);
 }
コード例 #4
0
ファイル: MessageQueue.cs プロジェクト: qcjxberin/DotQueue
 internal MessageQueue(DotQueueAddress address,
                       IHttpAdapter <T> httpAdapter,
                       IListenerAdapter <T> listenerAdapter,
                       ILocalPortResolver portResolver,
                       IWaitDurationHelper durationHelper)
 {
     _durationHelper  = durationHelper;
     _portResolver    = portResolver;
     _listenerAdapter = listenerAdapter;
     _httpAdapter     = httpAdapter;
     InitializeQueueTasks(address);
 }
コード例 #5
0
        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);
        }
コード例 #6
0
        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.");
        }
コード例 #7
0
        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.");
        }
コード例 #9
0
 /// <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);
 }
コード例 #10
0
        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");
        }
コード例 #11
0
        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.");
        }
コード例 #12
0
        /// <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;
                }
            }
        }
コード例 #13
0
        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.");
        }
コード例 #14
0
ファイル: PrintersClient.cs プロジェクト: devoctomy/printly
 public PrintersClient(IHttpAdapter <PrintersClient> httpAdapter)
 {
     _httpAdapter = httpAdapter;
 }
コード例 #15
0
 public SystemClient(IHttpAdapter <SystemClient> httpAdapter)
 {
     _httpAdapter = httpAdapter;
 }
コード例 #16
0
 public BingService(IHttpAdapter httpAdapter, IFileStreamAdapter streamAdapter)
 {
     _httpAdapter   = httpAdapter;
     _streamAdapter = streamAdapter;
 }