Пример #1
0
        public async Task GetAll_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new DeployKeyRepository(_requestFactory);

            await sut.GetAll(0);

            _requestFactory.Received().Create("projects/{projectId}/keys", Method.Get);
        }
Пример #2
0
        public async Task Create_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new DeployKeyRepository(_requestFactory);

            await sut.Create(0, "title", "key");

            _requestFactory.Received().Create("projects/{projectId}/keys", Method.Post);
        }
Пример #3
0
        public async Task Delete_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new DeployKeyRepository(_requestFactory);

            await sut.Delete(0, 0);

            _requestFactory.Received().Create("projects/{projectId}/keys/{keyId}", Method.Delete);
        }
Пример #4
0
        public async Task Delete_ValidParameters_AddsProjectIdUrlSegment()
        {
            const uint expected = 0;
            var        sut      = new DeployKeyRepository(_requestFactory);

            await sut.Delete(expected, 0);

            _request.Received().AddUrlSegment("projectId", expected);
        }
Пример #5
0
        public async Task Create_ValidParameters_AddsTitleParameter()
        {
            const string expected = "title";
            var          sut      = new DeployKeyRepository(_requestFactory);

            await sut.Create(0, expected, "key");

            _request.Received().AddParameter("title", expected);
        }
Пример #6
0
        public async Task Find_ValidParameters_AddsKeyIdUrlSegment()
        {
            const uint expected = 0;
            var        sut      = new DeployKeyRepository(_requestFactory);

            await sut.Find(0, expected);

            _request.Received().AddUrlSegment("keyId", expected);
        }
Пример #7
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);
        }
Пример #8
0
        public async Task Create_TitleIsNull_ThrowsArgumentNullException()
        {
            var sut = new DeployKeyRepository(_requestFactory);

            await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Create(0, null, "key"));
        }