コード例 #1
0
        public async Task Test_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new SystemHookRepository(_requestFactory);

            await sut.Test(0);

            _requestFactory.Received().Create("hooks/{hookId}", Method.Get);
        }
コード例 #2
0
        public async Task Create_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new SystemHookRepository(_requestFactory);

            await sut.Create("url");

            _requestFactory.Received().Create("hooks", Method.Post);
        }
コード例 #3
0
        public async Task Test_ValidParameters_AddsHookIdUrlSegment()
        {
            const uint expected = 0;
            var        sut      = new SystemHookRepository(_requestFactory);

            await sut.Test(expected);

            _request.Received().AddUrlSegment("hookId", expected);
        }
コード例 #4
0
        public async Task Create_ValidParameters_AddsUrlParameter()
        {
            const string expected = "url";
            var          sut      = new SystemHookRepository(_requestFactory);

            await sut.Create(expected);

            _request.Received().AddParameter("url", expected);
        }
コード例 #5
0
        /// <summary> Creates a new <see cref="GitLabClient" /> instance. </summary>
        /// <param name="hostUri"> The GitLab server to connect to. </param>
        /// <param name="privateToken"> The private token to use when making requests to the GitLab API. </param>
        public GitLabClient(Uri hostUri, string privateToken = null)
        {
            if (hostUri == null)
            {
                throw new ArgumentNullException(nameof(hostUri));
            }

            var baseUri = new Uri(hostUri, ApiPath);

            _authenticator = new PrivateTokenAuthenticator(privateToken);
            var clientFactory  = new ClientFactory(baseUri, _authenticator);
            var requestFactory = new RequestFactory(clientFactory);

            Branches        = new BranchRepository(requestFactory);
            Builds          = new BuildRepository(requestFactory);
            BuildTriggers   = new BuildTriggerRepository(requestFactory);
            BuildVariables  = new BuildVariableRepository(requestFactory);
            Commits         = new CommitRepository(requestFactory);
            DeployKeys      = new DeployKeyRepository(requestFactory);
            Emails          = new EmailRepository(requestFactory);
            Files           = new FileRepository(requestFactory);
            GitLabLicense   = new GitLabLicenseRepository(requestFactory);
            GitLabSettings  = new GitLabSettingsRepository(requestFactory);
            Issues          = new IssueRepository(requestFactory);
            Keys            = new KeyRepository(requestFactory);
            Labels          = new LabelRepository(requestFactory);
            Licenses        = new LicenseRepository(requestFactory);
            MergeRequests   = new MergeRequestRepository(requestFactory);
            Milestones      = new MilestoneRepository(requestFactory);
            Namespaces      = new NamespaceRepository(requestFactory);
            ProjectSnippets = new ProjectSnippetRepository(requestFactory);
            Repositories    = new RepositoryRepository(requestFactory);
            Runners         = new RunnerRepository(requestFactory);
            Session         = new SessionRepository(requestFactory);
            SystemHooks     = new SystemHookRepository(requestFactory);
            Tags            = new TagRepository(requestFactory);
            Users           = new UserRepository(requestFactory);
            Projects        = new ProjectRepository(requestFactory);
            ProjectMembers  = new ProjectMemberRepository(requestFactory);
            GroupMembers    = new GroupMemberRepository(requestFactory);
        }
コード例 #6
0
        public async Task Create_UrlIsNull_ThrowsArgumentNullException()
        {
            var sut = new SystemHookRepository(_requestFactory);

            await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Create(null));
        }