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(); } }
public void TestImportSubscriptions() { for (var i = 0; i < Data.ValidPublishSettings.Count; i++) { var publishSettings = General.DeserializeXmlFile <PublishData>(Data.ValidPublishSettings[i]); var subscriptionsManager = SubscriptionsManager.Import( Data.ValidSubscriptionsData[i], publishSettings); // All subscriptions from both the publish settings file and the subscriptions file were imported Assert.AreEqual(6, subscriptionsManager.Subscriptions.Count); Assert.IsTrue(Data.ValidSubscriptionName.SequenceEqual(subscriptionsManager.Subscriptions.Keys)); } }
public void TestRemoveDefaultSubscriptionProcess() { for (var i = 0; i < Data.ValidPublishSettings.Count; i++) { var targetFile = Path.Combine(Directory.GetParent(Data.ValidSubscriptionsData[i]).FullName, "removeonce" + Path.GetFileName(Data.ValidSubscriptionsData[i])); File.Copy(Data.ValidSubscriptionsData[i], targetFile, true); var globalComponents = GlobalComponents.CreateFromPublishSettings(GlobalPathInfo.GlobalSettingsDirectory, targetFile, Data.ValidPublishSettings[i]); var removeSubscriptionCommand = new RemoveAzureSubscriptionCommand(); removeSubscriptionCommand.RemoveSubscriptionProcess("mysub1", targetFile); var subscriptionsManager = SubscriptionsManager.Import(targetFile); Assert.IsFalse(subscriptionsManager.Subscriptions.Values.Any(subscription => subscription.SubscriptionName == "mysub1")); Assert.IsFalse(subscriptionsManager.Subscriptions.Values.Any(subscription => subscription.IsDefault)); // Clean globalComponents.DeleteGlobalComponents(); } }
public void TestImportSubscriptionsInvalidSubscriptionData() { for (var i = 0; i < Data.ValidPublishSettings.Count; i++) { try { var publishSettings = General.DeserializeXmlFile <PublishData>(Data.ValidPublishSettings[i]); SubscriptionsManager.Import( Data.InvalidSubscriptionsData[i], publishSettings); } catch (InvalidOperationException exception) { Assert.AreEqual( string.Format(Resources.InvalidSubscriptionsDataSchema, Data.InvalidSubscriptionsData[i]), exception.Message); throw; } } }