public virtual PSHub CreatePSHub(CreatePSHubParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            PSHub hub = null;
            Action createHub = () =>
            {
                hub =
                    new PSHub(
                        this.CreateOrUpdateHub(
                            parameters.ResourceGroupName,
                            parameters.DataFactoryName,
                            parameters.Name,
                            parameters.RawJsonContent))
                    {DataFactoryName = parameters.DataFactoryName, ResourceGroupName = parameters.ResourceGroupName};

                if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(hub.ProvisioningState))
                {
                    // ToDo: service side should set the error message for provisioning failures.
                    throw new ProvisioningFailedException(Resources.HubProvisioningFailed);
                }
            };

            if (parameters.Force)
            {
                createHub();
            }
            else
            {
                bool hubExists = this.CheckHubExists(
                    parameters.ResourceGroupName,
                    parameters.DataFactoryName,
                    parameters.Name);

                parameters.ConfirmAction(
                    !hubExists,
                    string.Format(
                        CultureInfo.InvariantCulture,
                        Resources.HubExists,
                        parameters.Name,
                        parameters.DataFactoryName),
                    string.Format(
                        CultureInfo.InvariantCulture,
                        Resources.HubCreating,
                        parameters.Name,
                        parameters.DataFactoryName),
                    parameters.Name,
                    createHub);
            }

            return hub;
        }
Example #2
0
        public void CanGetHub()
        {
            // Arrange
            PSHub expected = new PSHub()
            {
                DataFactoryName = DataFactoryName,
                ResourceGroupName = ResourceGroupName,
                HubName = hubName
            };

            dataFactoriesClientMock
                .Setup(
                    c =>
                        c.FilterPSHubs(
                            It.Is<HubFilterOptions>(
                                options =>
                                    options.ResourceGroupName == ResourceGroupName &&
                                    options.DataFactoryName == DataFactoryName &&
                                    options.Name == hubName)))
                .CallBase()
                .Verifiable();

            dataFactoriesClientMock
                .Setup(c => c.GetHub(ResourceGroupName, DataFactoryName, hubName))
                .Returns(expected)
                .Verifiable();

            // Action
            cmdlet.Name = hubName;
            cmdlet.ExecuteCmdlet();

            // Assert
            dataFactoriesClientMock.VerifyAll();

            commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once());
        }