Exemplo n.º 1
0
        public DigitalOceanClient(string token)
        {
            var client = new RestClient(DigitalOceanApiUrl)
            {
                UserAgent = "digitalocean-api-dotnet"
            };

            client.AddDefaultHeader("Authorization", $"Bearer {token}");

            _connection = new Connection(client);

            Actions           = new ActionsClient(_connection);
            DomainRecords     = new DomainRecordsClient(_connection);
            Domains           = new DomainsClient(_connection);
            DropletActions    = new DropletActionsClient(_connection);
            Droplets          = new DropletsClient(_connection);
            FloatingIps       = new FloatingIpsClient(_connection);
            FloatingIpActions = new FloatingIpActionsClient(_connection);
            ImageActions      = new ImageActionsClient(_connection);
            Images            = new ImagesClient(_connection);
            Keys      = new KeysClient(_connection);
            Regions   = new RegionsClient(_connection);
            Sizes     = new SizesClient(_connection);
            Snapshots = new SnapshotsClient(_connection);
            Tags      = new TagsClient(_connection);
            Volumes   = new VolumesClient(_connection);
        }
        public void CorrectRequestForResetPassword()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.ResetPassword(9001);

            var parameters = Arg.Is <List <Parameter> >(list => (int)list[0].Value == 9001);
            var body       = Arg.Is <Action>(action => action.Type == "password_reset");

            factory.Received().ExecuteRequest <Models.Responses.Action>("droplets/{dropletId}/actions",
                                                                        parameters, body, "action", Method.POST);
        }
        public void CorrectRequestForGetAction()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.GetDropletAction(9001, 1009);

            var parameters = Arg.Is <List <Parameter> >(list => (int)list[0].Value == 9001 &&
                                                        (int)list[1].Value == 1009);

            factory.Received().ExecuteRequest <Models.Responses.Action>("droplets/{dropletId}/actions/{actionId}",
                                                                        parameters, null, "action");
        }
        public void CorrectRequestForKernel()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.ChangeKernel(9001, 1009);

            var parameters = Arg.Is <List <Parameter> >(list => (int)list[0].Value == 9001);
            var body       = Arg.Is <Action>(action => action.Type == "change_kernel" && action.KernelId == 1009);

            factory.Received().ExecuteRequest <Models.Responses.Action>("droplets/{dropletId}/actions",
                                                                        parameters, body, "action", Method.POST);
        }
        public void CorrectRequestForActionOnTag()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.ActionOnTag("mytag", "reboot");

            var parameters = Arg.Is <List <Parameter> >(list => (string)list[0].Name == "tag_name" && (string)list[0].Value == "mytag");
            var body       = Arg.Is <DropletAction>(action => action.Type == "reboot");

            factory.Received().ExecuteRequest <List <Models.Responses.Action> >("droplets/actions",
                                                                                parameters, null, "actions", Method.POST);
        }
        public void CorrectRequestForPrivateNetworking()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.EnablePrivateNetworking(9001);

            var parameters = Arg.Is <List <Parameter> >(list => (int)list[0].Value == 9001);
            var body       = Arg.Is <DropletAction>(action => action.Type == "enable_private_networking");

            factory.Received().ExecuteRequest <Models.Responses.Action>("droplets/{dropletId}/actions",
                                                                        parameters, body, "action", Method.POST);
        }
        public void CorrectRequestForResize()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.Resize(9001, "1024mb", true);

            var parameters = Arg.Is <List <Parameter> >(list => (int)list[0].Value == 9001);
            var body       = Arg.Is <DropletAction>(action => action.Type == "resize" && action.Size == "1024mb" && action.Disk == true);

            factory.Received().ExecuteRequest <Models.Responses.Action>("droplets/{dropletId}/actions",
                                                                        parameters, body, "action", Method.POST);
        }
Exemplo n.º 8
0
        public void CorrectRequestForSnapshot()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.Snapshot(9001, "testing");

            var parameters = Arg.Is <List <Parameter> >(list => (long)list[0].Value == 9001);
            var body       = Arg.Is <DropletAction>(action => action.Type == "snapshot" && action.Name == "testing");

            factory.Received().ExecuteRequest <Models.Responses.Action>("droplets/{dropletId}/actions",
                                                                        parameters, body, "action", Method.POST);
        }
Exemplo n.º 9
0
        public void CorrectRequestForRebuild()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new DropletActionsClient(factory);

            client.Rebuild(9001, 1009L);

            var parameters = Arg.Is <List <Parameter> >(list => (long)list[0].Value == 9001);
            var body       = Arg.Is <DropletAction>(action => action.Type == "rebuild" && (long)action.Image == 1009);

            factory.Received().ExecuteRequest <Models.Responses.Action>("droplets/{dropletId}/actions",
                                                                        parameters, body, "action", Method.POST);
        }
Exemplo n.º 10
0
        public DigitalOceanClient(string token)
        {
            var client = new RestClient(DigitalOceanApiUrl)
            {
                UserAgent = "digitalocean-api-dotnet"
            };

            client.AddDefaultHeader("Authorization", string.Format("Bearer {0}", token));

            _connection = new Connection(client);

            Account           = new AccountClient(_connection);
            Actions           = new ActionsClient(_connection);
            CdnEndpoints      = new CdnEndpointsClient(_connection);
            Certificates      = new CertificatesClient(_connection);
            ContainerRegistry = new ContainerRegistryClient(_connection);
            Databases         = new DatabasesClient(_connection);
            DomainRecords     = new DomainRecordsClient(_connection);
            Domains           = new DomainsClient(_connection);
            DropletActions    = new DropletActionsClient(_connection);
            Droplets          = new DropletsClient(_connection);
            Firewalls         = new FirewallsClient(_connection);
            FloatingIpActions = new FloatingIpActionsClient(_connection);
            FloatingIps       = new FloatingIpsClient(_connection);
            ImageActions      = new ImageActionsClient(_connection);
            Images            = new ImagesClient(_connection);
            LoadBalancers     = new LoadBalancerClient(_connection);
            Projects          = new ProjectsClient(_connection);
            ProjectResources  = new ProjectResourcesClient(_connection);
            Keys          = new KeysClient(_connection);
            Kubernetes    = new KubernetesClient(_connection);
            Regions       = new RegionsClient(_connection);
            Sizes         = new SizesClient(_connection);
            Snapshots     = new SnapshotsClient(_connection);
            Tags          = new TagsClient(_connection);
            Volumes       = new VolumesClient(_connection);
            VolumeActions = new VolumeActionsClient(_connection);
            BalanceClient = new BalanceClient(_connection);
            Vpc           = new VpcClient(_connection);
        }
Exemplo n.º 11
0
        public DigitalOceanClient(string token)
        {
            var client = new RestClient(DigitalOceanApiUrl)
            {
                UserAgent = "digitalocean-api-dotnet"
            };

            client.AddDefaultHeader("Authorization", string.Format("Bearer {0}", token));

            _connection = new Connection(client);

            Actions        = new ActionsClient(_connection);
            DomainRecords  = new DomainRecordsClient(_connection);
            Domains        = new DomainsClient(_connection);
            DropletActions = new DropletActionsClient(_connection);
            Droplets       = new DropletsClient(_connection);
            ImageActions   = new ImageActionsClient(_connection);
            Images         = new ImagesClient(_connection);
            Keys           = new KeysClient(_connection);
            Regions        = new RegionsClient(_connection);
            Sizes          = new SizesClient(_connection);
        }