コード例 #1
0
        public void TestSaveSubscriptions()
        {
            for (var i = 0; i < Data.ValidPublishSettings.Count; i++)
            {
                var globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(GlobalPathInfo.GlobalSettingsDirectory, null, Data.ValidPublishSettings[i]);

                var subscriptionsManager = SubscriptionsManager.Import(
                    Data.ValidSubscriptionsData[i],
                    globalSettingsManager.PublishSettings,
                    globalSettingsManager.Certificate);

                var newSubscription = new SubscriptionData
                {
                    SubscriptionName = "newsubscription",
                    IsDefault        = false,
                    SubscriptionId   = "id"
                };

                subscriptionsManager.Subscriptions[newSubscription.SubscriptionName] = newSubscription;
                subscriptionsManager.SaveSubscriptions(Path.Combine(GlobalPathInfo.GlobalSettingsDirectory, "test.xml"));

                var newSubscriptionsManager = SubscriptionsManager.Import(
                    Path.Combine(GlobalPathInfo.GlobalSettingsDirectory, "test.xml"),
                    globalSettingsManager.PublishSettings,
                    globalSettingsManager.Certificate);

                var addedSubscription = newSubscriptionsManager.Subscriptions.Values.Single(
                    subscription => subscription.SubscriptionName == newSubscription.SubscriptionName);

                Assert.AreEqual(newSubscription.SubscriptionId, addedSubscription.SubscriptionId);

                globalSettingsManager.DeleteGlobalSettingsManager();
            }
        }
コード例 #2
0
        public void TestGetCurrentSubscriptionDefault()
        {
            var globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(GlobalPathInfo.GlobalSettingsDirectory, null, Data.ValidPublishSettings.First());

            var importSubscriptionCommand = new ImportAzurePublishSettingsCommand();

            importSubscriptionCommand.ImportSubscriptionFile(
                Data.ValidPublishSettings.First(),
                null);

            var currentSubscription = importSubscriptionCommand.GetCurrentSubscription();

            Assert.AreEqual(currentSubscription.SubscriptionName, Data.Subscription1);
            Assert.IsTrue(currentSubscription.IsDefault);

            // Test the get for the current subscription
            var getSubscriptionCommand = new GetSubscriptionCommandStub();

            getSubscriptionCommand.GetSubscriptionProcess("Default", null, null);

            Assert.AreEqual(1, getSubscriptionCommand.Messages.Count);
            Assert.AreEqual(currentSubscription.SubscriptionName, getSubscriptionCommand.Messages.First().SubscriptionName);
            Assert.AreEqual(currentSubscription.SubscriptionId, getSubscriptionCommand.Messages.First().SubscriptionId);

            globalSettingsManager.DeleteGlobalSettingsManager();
        }
コード例 #3
0
 public State_DeadNature(GameInfo info) : base(info)
 {
     NextState            = null;
     Name                 = STATE.FINAL;
     SecondsToStateChange = GlobalSettingsManager.GetStateTime(this.Name);
     SecondsToSpawnTrash  = 0.5f;
 }
コード例 #4
0
        public PublishContext(
            ServiceSettings settings,
            string packagePath,
            string configPath,
            string serviceName,
            string deploymentName,
            string rootPath)
        {
            Validate.ValidateNullArgument(settings, Resources.InvalidServiceSettingMessage);
            Validate.ValidateStringIsNullOrEmpty(packagePath, "packagePath");
            Validate.ValidateFileFull(configPath, Resources.ServiceConfiguration);
            Validate.ValidateStringIsNullOrEmpty(serviceName, "serviceName");

            this.ServiceSettings = settings;
            this.PackagePath     = packagePath;
            this.ConfigPath      = configPath;
            this.RootPath        = rootPath;
            this.ServiceName     = serviceName;
            this.DeploymentName  = string.IsNullOrEmpty(deploymentName) ?
                                   char.ToLower(ServiceSettings.Slot[0]) + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff")
                : deploymentName;

            if (!string.IsNullOrEmpty(settings.Subscription))
            {
                GlobalSettingsManager globalSettingsManager = GlobalSettingsManager.Load(GlobalPathInfo.GlobalSettingsDirectory);
                SubscriptionId = globalSettingsManager.GetSubscriptionId(settings.Subscription);
            }
            else
            {
                throw new ArgumentNullException("settings.Subscription", Resources.InvalidSubscriptionNameMessage);
            }
        }
コード例 #5
0
 public State_StartDecay(GameInfo info) : base(info)
 {
     NextState                = new State_MainDecay(info);
     Name                     = STATE.DECAY_START;
     SecondsToStateChange     = GlobalSettingsManager.GetStateTime(this.Name);
     this.SecondsToSpawnTrash = 2f;
 }
コード例 #6
0
 private GlobalSettingsManager CreateGlobalSettingsManager(string subscriptionsDataFile, string publishSettingsFile)
 {
     return(GlobalSettingsManager.CreateFromPublishSettings(
                GlobalPathInfo.GlobalSettingsDirectory,
                subscriptionsDataFile,
                publishSettingsFile));
 }
コード例 #7
0
 public State_MainDecay(GameInfo info) : base(info)
 {
     NextState                = new State_TrashRising(info);
     Name                     = STATE.DECAY_MAIN;
     SecondsToStateChange     = GlobalSettingsManager.GetStateTime(this.Name);
     this.SecondsToSpawnTrash = 1.5f;
 }
コード例 #8
0
 public State_TrashRising(GameInfo info) : base(info)
 {
     NextState                = new State_DeadNature(info);
     Name                     = STATE.TRASH_RISING;
     SecondsToStateChange     = GlobalSettingsManager.GetStateTime(this.Name);
     this.SecondsToSpawnTrash = 0.5f;
 }
コード例 #9
0
        private SubscriptionData SetCurrentAndDefaultSubscriptions(GlobalSettingsManager globalSettingsManager, string subscriptionsDataFile)
        {
            // Set a current and default subscription if possible
            if (globalSettingsManager.Subscriptions != null && globalSettingsManager.Subscriptions.Count > 0)
            {
                var currentDefaultSubscription = globalSettingsManager.Subscriptions.Values.FirstOrDefault(subscription =>
                                                                                                           subscription.IsDefault);
                if (currentDefaultSubscription == null)
                {
                    // Sets the a new default subscription from the imported ones
                    currentDefaultSubscription           = globalSettingsManager.Subscriptions.Values.First();
                    currentDefaultSubscription.IsDefault = true;
                }

                if (this.GetCurrentSubscription() == null)
                {
                    this.SetCurrentSubscription(currentDefaultSubscription);
                }

                // Save subscriptions file to make sure publish settings subscriptions get merged
                // into the subscriptions data file and the default subscription is updated.
                globalSettingsManager.SaveSubscriptions(subscriptionsDataFile);

                return(currentDefaultSubscription);
            }

            return(null);
        }
コード例 #10
0
        public void GlobalSettingsManagerLoadInvalidPublishSettingsSchemaFail()
        {
            GlobalSettingsManager.Load("DoesNotExistDirectory");

            Assert.IsNotNull(GlobalSettingsManager.Instance.PublishSettings);
            Assert.IsNotNull(GlobalSettingsManager.Instance.ServiceConfiguration);
            Assert.IsNotNull(GlobalSettingsManager.Instance.Certificate);
        }
コード例 #11
0
 public State_Alive(GameInfo info) : base(info)
 {
     NextState            = new State_StartDecay(info);
     Name                 = STATE.NATURE;
     SecondsToStateChange = GlobalSettingsManager.GetStateTime(this.Name);
     spawnTimings         = new float[] { 8f, 5f };
     TimingPointer        = 0;
     SecondsToSpawnTrash  = spawnTimings[TimingPointer];
 }
コード例 #12
0
ファイル: SettingsForm.cs プロジェクト: Lbniese/PawsPremium
        private void aboutProfilesPesetsComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            var pathToProfileFile =
                GlobalSettingsManager.GetFullPathToProfile(aboutProfilesPesetsComboBox.SelectedItem.ToString());

            SettingsManager.InitWithProfile(pathToProfileFile);

            BindUiSettings();
        }
コード例 #13
0
 public void GlobalSettingsManagerLoadExistingNullAzureDirectoryFail()
 {
     foreach (string fileName in Data.ValidPublishSettings)
     {
         GlobalSettingsManager.Load(null);
         Assert.IsNotNull(GlobalSettingsManager.Instance.PublishSettings);
         Assert.IsNotNull(GlobalSettingsManager.Instance.ServiceConfiguration);
         Assert.IsNotNull(GlobalSettingsManager.Instance.Certificate);
     }
 }
コード例 #14
0
 public void GlobalSettingsManagerLoadInvalidPublishSettingsSchemaFail()
 {
     Testing.AssertThrows <FileNotFoundException>(
         () => GlobalSettingsManager.Load("DoesNotExistDirectory"),
         ex =>
     {
         Assert.AreEqual <string>(ex.Message, Resources.GlobalSettingsManager_Load_PublishSettingsNotFound);
         Assert.IsFalse(Directory.Exists(Data.AzureAppDir));
     });
 }
コード例 #15
0
ファイル: SettingsForm.cs プロジェクト: Lbniese/PawsPremium
        /// <summary>
        ///     Retrieves the available profiles for the current character, and populates the profiles dropdown control.
        /// </summary>
        private void PopulateProfiles()
        {
            aboutProfilesPesetsComboBox.Items.Clear();

            foreach (var file in GlobalSettingsManager.GetCharacterProfileFiles())
            {
                aboutProfilesPesetsComboBox.Items.Add(Path.GetFileNameWithoutExtension(file));
            }

            aboutProfilesPesetsComboBox.SelectedItem = GlobalSettingsManager.Instance.LastUsedProfile;
        }
コード例 #16
0
        public void TestGetSubscription()
        {
            var globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(GlobalPathInfo.GlobalSettingsDirectory, null, Data.ValidPublishSettings.First());

            var cmdletStub   = new CmdletStub();
            var subscription = cmdletStub.GetSubscription("TestSubscription1", null);

            Assert.AreEqual("TestSubscription1", subscription.SubscriptionName);

            globalSettingsManager.DeleteGlobalSettingsManager();
        }
コード例 #17
0
        public void ProcessGetWebsiteWithNullSubscription()
        {
            // Setup
            GlobalSettingsManager globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(
                GlobalPathInfo.GlobalSettingsDirectory,
                null,
                Data.ValidPublishSettings[0]);
            RemoveAzureSubscriptionCommand removeCmdlet = new RemoveAzureSubscriptionCommand();

            removeCmdlet.CommandRuntime = new MockCommandRuntime();
            ICollection <string> subscriptions = globalSettingsManager.Subscriptions.Keys;

            foreach (string subscription in subscriptions)
            {
                removeCmdlet.RemoveSubscriptionProcess(subscription, null);
            }

            SimpleWebsitesManagement channel = new SimpleWebsitesManagement();

            channel.GetWebSpacesThunk = ar => new WebSpaces(new List <WebSpace> {
                new WebSpace {
                    Name = "webspace1"
                }, new WebSpace {
                    Name = "webspace2"
                }
            });
            channel.GetSitesThunk = ar =>
            {
                if (ar.Values["webspaceName"].Equals("webspace1"))
                {
                    return(new Sites(new List <Site> {
                        new Site {
                            Name = "website1", WebSpace = "webspace1"
                        }
                    }));
                }

                return(new Sites(new List <Site> {
                    new Site {
                        Name = "website2", WebSpace = "webspace2"
                    }
                }));
            };

            // Test
            GetAzureWebsiteCommand getAzureWebsiteCommand = new GetAzureWebsiteCommand(channel)
            {
                ShareChannel        = true,
                CommandRuntime      = new MockCommandRuntime(),
                CurrentSubscription = null
            };

            Testing.AssertThrows <Exception>(() => getAzureWebsiteCommand.ExecuteCmdlet(), Resources.NoDefaultSubscriptionMessage);
        }
コード例 #18
0
        public void GlobalSettingsManagerCreateNewInvalidPublishSettingsFileFail()
        {
            foreach (string invalidFileName in Data.InvalidFileName)
            {
                Action <ArgumentException> verification = ex =>
                {
                    Assert.AreEqual <string>(ex.Message, Resources.IllegalPath);
                    Assert.IsFalse(Directory.Exists(Data.AzureAppDir));
                };

                Testing.AssertThrows <ArgumentException>(() => GlobalSettingsManager.CreateFromPublishSettings(Data.AzureAppDir, null, invalidFileName), verification);
            }
        }
コード例 #19
0
        public void GlobalSettingsManagerLoadDoesNotExistAzureDirectoryGetDefaultValues()
        {
            foreach (string fileName in Data.ValidPublishSettings)
            {
                foreach (string invalidDirectoryName in Data.InvalidServiceRootName)
                {
                    GlobalSettingsManager.Load("DoesNotExistDirectory");

                    Assert.IsNotNull(GlobalSettingsManager.Instance.PublishSettings);
                    Assert.IsNotNull(GlobalSettingsManager.Instance.ServiceConfiguration);
                    Assert.IsNotNull(GlobalSettingsManager.Instance.Certificate);
                }
            }
        }
コード例 #20
0
 public void GlobalSettingsManagerCreateNewNullPublishSettingsFileFail()
 {
     try
     {
         GlobalSettingsManager.CreateFromPublishSettings(Data.AzureAppDir, null, null);
         Assert.Fail("No exception thrown");
     }
     catch (Exception ex)
     {
         Assert.IsTrue(ex is ArgumentException);
         Assert.AreEqual <string>(ex.Message, string.Format(Resources.InvalidOrEmptyArgumentMessage, Resources.PublishSettings));
         Assert.IsFalse(Directory.Exists(Data.AzureAppDir));
     }
 }
コード例 #21
0
        /// <summary>
        /// Create a temporary Azure SDK directory to simulate global files.
        /// </summary>
        /// <param name="publishSettingsPath">
        /// Path to the publish settings.
        /// </param>
        /// <returns>The path to the temporary Azure SDK directory.</returns>
        public string CreateAzureSdkDirectoryAndImportPublishSettings(string publishSettingsPath)
        {
            Debug.Assert(!string.IsNullOrEmpty(publishSettingsPath));
            Debug.Assert(File.Exists(publishSettingsPath));
            Debug.Assert(string.IsNullOrEmpty(AzureSdkPath));

            AzureSdkPath = CreateDirectory("AzureSdk");
            GlobalPathInfo.GlobalSettingsDirectory = AzureSdkPath;
            GlobalSettingsManager globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(
                GlobalPathInfo.GlobalSettingsDirectory,
                null,
                publishSettingsPath);

            return(AzureSdkPath);
        }
コード例 #22
0
ファイル: SettingsForm.cs プロジェクト: Lbniese/PawsPremium
        private void aboutProfilesSaveAsButton_Click(object sender, EventArgs e)
        {
            var newForm = new SaveProfileAsNameForm();

            if (newForm.ShowDialog() == DialogResult.OK)
            {
                ApplySettings();

                SettingsManager.Instance.SaveToFile(GlobalSettingsManager.GetFullPathToProfile(newForm.NameTextBox.Text));
                GlobalSettingsManager.Instance.LastUsedProfile = newForm.NameTextBox.Text;
                GlobalSettingsManager.Instance.Save();

                PopulateProfiles();
            }
        }
コード例 #23
0
        public void GlobalSettingsManagerCreateNew()
        {
            foreach (string fileName in Data.ValidPublishSettings)
            {
                // Prepare
                GlobalSettingsManager globalSettingsManager   = GlobalSettingsManager.CreateFromPublishSettings(Data.AzureAppDir, null, fileName);
                PublishData           expectedPublishSettings = General.DeserializeXmlFile <PublishData>(fileName);

                // Assert
                AzureAssert.AreEqualGlobalSettingsManager(new GlobalPathInfo(Data.AzureAppDir), expectedPublishSettings, globalSettingsManager);

                // Clean
                globalSettingsManager.DeleteGlobalSettingsManager();
            }
        }
コード例 #24
0
        public void TestGetSubscriptions()
        {
            var globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(GlobalPathInfo.GlobalSettingsDirectory, null, Data.ValidPublishSettings.First());

            var cmdletStub    = new CmdletStub();
            var subscriptions = cmdletStub.GetSubscriptions(null);

            // All subscriptions from both the publish settings file and the subscriptions file were imported
            Assert.AreEqual(6, subscriptions.Count);

            // There's a single default subscription
            Assert.AreEqual("Windows Azure Sandbox 9-220", subscriptions.Values.Single(subscription => subscription.IsDefault).SubscriptionName);

            globalSettingsManager.DeleteGlobalSettingsManager();
        }
コード例 #25
0
        public void TestSetCurrentSubscription()
        {
            var globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(GlobalPathInfo.GlobalSettingsDirectory, null, Data.ValidPublishSettings.First());

            var selectSubscriptionCommand = new SelectAzureSubscriptionCommand();

            // Check that current subscription is the default one
            Assert.AreEqual("Windows Azure Sandbox 9-220", selectSubscriptionCommand.GetCurrentSubscription().SubscriptionName);

            // Change it and make sure it got changed
            selectSubscriptionCommand.SelectSubscriptionProcess("Set", "mysub1", Data.ValidSubscriptionsData.First());
            Assert.AreEqual("mysub1", selectSubscriptionCommand.GetCurrentSubscription().SubscriptionName);

            // Clean
            globalSettingsManager.DeleteGlobalSettingsManager();
        }
コード例 #26
0
 public void GlobalSettingsManagerCreateNewNullAzureDirectoryFail()
 {
     foreach (string fileName in Data.ValidSubscriptionsData)
     {
         try
         {
             GlobalSettingsManager.Load(null, fileName);
             Assert.Fail("No exception thrown");
         }
         catch (Exception ex)
         {
             Assert.IsTrue(ex is ArgumentException);
             Assert.IsFalse(Directory.Exists(Data.AzureAppDir));
         }
     }
 }
コード例 #27
0
        public void GlobalSettingsManagerLoadExisting()
        {
            for (var i = 0; i < Data.ValidPublishSettings.Count; i++)
            {
                var publishSettingsFile = Data.ValidPublishSettings[i];

                // Prepare
                new ImportAzurePublishSettingsCommand().ImportSubscriptionFile(publishSettingsFile, null);
                GlobalSettingsManager globalSettingsManager   = GlobalSettingsManager.Load(GlobalPathInfo.GlobalSettingsDirectory);
                PublishData           actualPublishSettings   = General.DeserializeXmlFile <PublishData>(Path.Combine(GlobalPathInfo.GlobalSettingsDirectory, Resources.PublishSettingsFileName));
                PublishData           expectedPublishSettings = General.DeserializeXmlFile <PublishData>(publishSettingsFile);

                // Assert
                AzureAssert.AreEqualGlobalSettingsManager(new GlobalPathInfo(GlobalPathInfo.GlobalSettingsDirectory), expectedPublishSettings, globalSettingsManager);
            }
        }
コード例 #28
0
 public void GlobalSettingsManagerLoadExistingEmptyAzureDirectoryFail()
 {
     foreach (string fileName in Data.ValidPublishSettings)
     {
         try
         {
             GlobalSettingsManager.Load("fake");
             Assert.Fail("No exception thrown");
         }
         catch (Exception ex)
         {
             Assert.IsTrue(ex is FileNotFoundException);
             Assert.AreEqual <string>(ex.Message, Resources.GlobalSettingsManager_Load_PublishSettingsNotFound);
             Assert.IsFalse(Directory.Exists(Data.AzureAppDir));
         }
     }
 }
コード例 #29
0
 public void GlobalSettingsManagerCreateNewInvalidPublishSettingsSchemaFail()
 {
     foreach (string fileName in Data.InvalidPublishSettings)
     {
         try
         {
             GlobalSettingsManager.CreateFromPublishSettings(Data.AzureAppDir, null, fileName);
             Assert.Fail("No exception thrown");
         }
         catch (Exception ex)
         {
             Assert.IsTrue(ex is InvalidOperationException);
             Assert.AreEqual <string>(ex.Message, string.Format(Resources.InvalidPublishSettingsSchema, fileName));
             Assert.IsFalse(Directory.Exists(Data.AzureAppDir));
         }
     }
 }
コード例 #30
0
 public void GlobalSettingsManagerLoadExistingNullAzureDirectoryFail()
 {
     foreach (string fileName in Data.ValidPublishSettings)
     {
         try
         {
             GlobalSettingsManager.Load(null);
             Assert.Fail("No exception thrown");
         }
         catch (Exception ex)
         {
             Assert.IsTrue(ex is ArgumentException);
             Assert.AreEqual <string>("Value cannot be null. Parameter name: 'azurePath'", ex.Message);
             Assert.IsFalse(Directory.Exists(Data.AzureAppDir));
         }
     }
 }
コード例 #31
0
        private void RegisterResourceProviders(GlobalSettingsManager globalSettingsManager, string subscriptionName)
        {
            var knownProviders = new List<string>(ProviderRegistrationConstants.GetKnownResourceTypes());
            if (knownProviders.Count > 0)
            {
                SubscriptionData subscription =
                    globalSettingsManager.SubscriptionManager.Subscriptions[subscriptionName];
                ISubscriptionClient client = GetSubscriptionClient(subscription);
                try
                {
                    var providers = new List<ProviderResource>(client.ListResources(knownProviders));
                    var providersToRegister = providers
                        .Where(p => p.State == ProviderRegistrationConstants.Unregistered)
                        .Select(p => p.Type).ToList();

                    Task.WaitAll(providersToRegister.Select(client.RegisterResourceTypeAsync).Cast<Task>().ToArray());
                }
                catch (AggregateException)
                {
                    // It's ok for registration to fail.
                }
            }
        }
コード例 #32
0
        private SubscriptionData SetCurrentAndDefaultSubscriptions(GlobalSettingsManager globalSettingsManager, string subscriptionsDataFile)
        {
            // Set a current and default subscription if possible
            if (globalSettingsManager.Subscriptions != null && globalSettingsManager.Subscriptions.Count > 0)
            {
                var currentDefaultSubscription = globalSettingsManager.Subscriptions.Values.FirstOrDefault(subscription =>
                    subscription.IsDefault);
                if (currentDefaultSubscription == null)
                {
                    // Sets the a new default subscription from the imported ones
                    currentDefaultSubscription = globalSettingsManager.Subscriptions.Values.First();
                    currentDefaultSubscription.IsDefault = true;
                }

                if (this.GetCurrentSubscription() == null)
                {
                    this.SetCurrentSubscription(currentDefaultSubscription);
                }

                // Save subscriptions file to make sure publish settings subscriptions get merged
                // into the subscriptions data file and the default subscription is updated.
                globalSettingsManager.SaveSubscriptions(subscriptionsDataFile);

                return currentDefaultSubscription;
            }

            return null;
        }