Ejemplo n.º 1
0
        public void TestBasicFunctionality()
        {
            INetworksProvider provider    = Bootstrapper.CreateNetworksProvider();
            string            networkName = UnitTestNetworkPrefix + Path.GetRandomFileName();
            string            cidr        = "192.0.2.0/24";

            CloudNetwork network;

            try
            {
                network = provider.CreateNetwork(cidr, networkName);
            }
            catch (BadServiceRequestException ex)
            {
                if (ex.Message == "Quota exceeded, too many networks.")
                {
                    Assert.Inconclusive("The required test network could not be created due to a quota.");
                }

                throw;
            }

            Assert.IsNotNull(network);

            CloudNetwork showNetwork = provider.ShowNetwork(network.Id);

            Assert.IsNotNull(showNetwork);
            Assert.AreEqual(network.Id, showNetwork.Id);
            Assert.AreEqual(network.Label, showNetwork.Label);
            Assert.AreEqual(network.Cidr, showNetwork.Cidr);
        }
Ejemplo n.º 2
0
        public void TestRevertServerResize()
        {
            IComputeProvider provider = Bootstrapper.CreateComputeProvider();

            string serverName = UserComputeTests.UnitTestServerPrefix + Path.GetRandomFileName();

            Flavor flavor = UserComputeTests.ListAllFlavorsWithDetails(provider).OrderBy(i => i.RAMInMB).ThenBy(i => i.DiskSizeInGB).FirstOrDefault(i => !i.Id.Equals(_server.Flavor.Id, StringComparison.OrdinalIgnoreCase));

            if (flavor == null)
            {
                Assert.Inconclusive("Couldn't find a flavor to use for the test server.");
            }

            bool resized = provider.ResizeServer(_server.Id, serverName, flavor.Id);

            Assert.IsTrue(resized);
            Server resizedServer = provider.WaitForServerState(_server.Id, ServerState.VerifyResize, new[] { ServerState.Active, ServerState.Error, ServerState.Unknown, ServerState.Suspended });

            Assert.AreEqual(ServerState.VerifyResize, resizedServer.Status);
            _server = resizedServer;

            bool reverted = provider.RevertServerResize(resizedServer.Id);

            Assert.IsTrue(reverted);
            Server revertedServer = provider.WaitForServerActive(_server.Id);

            Assert.AreEqual(ServerState.Active, revertedServer.Status);
            _server = revertedServer;
        }
 internal static UserName CreateRandomUserName(string host)
 {
     if (host == null)
     {
         return(new UserName(Path.GetRandomFileName().Replace('.', '_')));
     }
     else
     {
         return(new UserName(Path.GetRandomFileName().Replace('.', '_'), host));
     }
 }
Ejemplo n.º 4
0
        public void TestAttachServerVolume()
        {
            IComputeProvider provider = Bootstrapper.CreateComputeProvider();

            IBlockStorageProvider blockStorageProvider = Bootstrapper.CreateBlockStorageProvider();
            VolumeType            volumeType           = UserBlockStorageTests.GetSsdVolumeTypeOrDefault(blockStorageProvider);
            string volumeName = UserBlockStorageTests.UnitTestVolumePrefix + Path.GetRandomFileName();
            Volume volume     = blockStorageProvider.CreateVolume(UserBlockStorageTests.MinimumVolumeSize, displayName: volumeName, volumeType: volumeType != null ? volumeType.Id : null);

            Assert.AreEqual(VolumeState.Available, blockStorageProvider.WaitForVolumeAvailable(volume.Id).Status);

            /* AttachServerVolume
             */
            ServerVolume serverVolume = provider.AttachServerVolume(_server.Id, volume.Id);

            Assert.IsNotNull(serverVolume);
            Assert.IsFalse(string.IsNullOrEmpty(serverVolume.Id));
            Assert.AreEqual(_server.Id, serverVolume.ServerId);
            Assert.AreEqual(volume.Id, serverVolume.VolumeId);

            Assert.AreEqual(VolumeState.InUse, blockStorageProvider.WaitForVolumeState(volume.Id, VolumeState.InUse, new[] { VolumeState.Available, VolumeState.Error }).Status);

            /* ListServerVolumes
             */
            ServerVolume[] serverVolumes = provider.ListServerVolumes(_server.Id).ToArray();
            Assert.IsNotNull(serverVolumes);
            Assert.AreEqual(1, serverVolumes.Length);
            Assert.AreEqual(serverVolume.Id, serverVolumes[0].Id);
            Assert.AreEqual(serverVolume.ServerId, serverVolumes[0].ServerId);
            Assert.AreEqual(serverVolume.VolumeId, serverVolumes[0].VolumeId);

            /* GetServerVolumeDetails
             */
            ServerVolume volumeDetails = provider.GetServerVolumeDetails(_server.Id, volume.Id);

            Assert.IsNotNull(volumeDetails);
            Assert.AreEqual(serverVolume.Id, volumeDetails.Id);
            Assert.AreEqual(serverVolume.ServerId, volumeDetails.ServerId);
            Assert.AreEqual(serverVolume.VolumeId, volumeDetails.VolumeId);

            bool detach = provider.DetachServerVolume(_server.Id, volume.Id);

            Assert.IsTrue(detach);
            provider.WaitForServerActive(_server.Id);
            ServerVolume[] remainingVolumes = provider.ListServerVolumes(_server.Id).ToArray();
            Assert.AreEqual(0, remainingVolumes.Length);

            Assert.AreEqual(VolumeState.Available, blockStorageProvider.WaitForVolumeAvailable(volume.Id).Status);
            bool deleted = blockStorageProvider.DeleteVolume(volume.Id);

            Assert.IsTrue(blockStorageProvider.WaitForVolumeDeleted(volume.Id));
        }
        private void ChangeToSyntax(IBackgroundTaskContext context)
        {
            var study = (StudyTableItem)context.UserState;

            try
            {
                _tempPath = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "ClearCanvas");
                _tempPath = System.IO.Path.Combine(_tempPath, "Compression");
                _tempPath = System.IO.Path.Combine(_tempPath, Path.GetRandomFileName());

                string message = String.Format("Changing transfer syntax to: {0}", _syntax);
                context.ReportProgress(new BackgroundTaskProgress(0, message));
                var loader       = study.Server.GetService <IStudyLoader>();
                int numberOfSops = loader.Start(new StudyLoaderArgs(study.StudyInstanceUid, null));
                if (numberOfSops <= 0)
                {
                    return;
                }

                for (int i = 0; i < numberOfSops; ++i)
                {
                    Sop sop = loader.LoadNextSop();
                    if (sop != null)
                    {
                        if (sop.DataSource is ILocalSopDataSource)
                        {
                            string    filename = Path.Combine(_tempPath, string.Format("{0}.dcm", i));
                            DicomFile file     = ((ILocalSopDataSource)sop.DataSource).File;
                            file.ChangeTransferSyntax(_syntax);
                            file.Save(filename);
                        }
                    }

                    int progressPercent = (int)Math.Floor((i + 1) / (float)numberOfSops * 100);
                    context.ReportProgress(new BackgroundTaskProgress(progressPercent, message));
                }

                //trigger an import of the anonymized files.
                var client = new DicomFileImportBridge();
                client.ImportFileList(new List <string> {
                    _tempPath
                }, BadFileBehaviourEnum.Move, FileImportBehaviourEnum.Move);

                context.Complete();
            }
            catch (Exception e)
            {
                context.Error(e);
            }
        }
Ejemplo n.º 6
0
        public void TestUpdateServer()
        {
            IComputeProvider provider = Bootstrapper.CreateComputeProvider();

            string newName = UserComputeTests.UnitTestServerPrefix + Path.GetRandomFileName() + "²";
            bool   updated = provider.UpdateServer(_server.Id, name: newName);

            Assert.IsTrue(updated);
            Server updatedServer = provider.GetDetails(_server.Id);

            Assert.AreEqual(_server.Id, updatedServer.Id);
            Assert.AreEqual(newName, updatedServer.Name);
            Assert.AreNotEqual(_server.Name, updatedServer.Name);
            _server = updatedServer;
        }
Ejemplo n.º 7
0
        internal static void TestOutputPaneBehavior(IOutputWindowPane pane, string initialName)
        {
            Assert.IsNotNull(pane);
            Assert.AreEqual(initialName, pane.Name);

            pane.Activate();
            pane.Hide();
            pane.Activate();
            string newName = pane.Name + " - " + Path.GetRandomFileName();

            pane.Name = newName;
            Assert.AreEqual(newName, pane.Name);
            pane.Write("Writing  text...");
            pane.WriteLine(" done.");
        }
Ejemplo n.º 8
0
        private static string GetTemporaryDirectory(out bool removeDirectory)
        {
            string packagesPath = Path.GetFullPath(@"..\..\..");

            if (Directory.Exists(Path.Combine(packagesPath, "packages")))
            {
                removeDirectory = false;
                return(Path.Combine(packagesPath, "packages"));
            }

            string path = Path.Combine(Path.GetTempPath(), "CompatibilityChecker-" + Path.GetRandomFileName());

            Directory.CreateDirectory(path);
            removeDirectory = true;
            return(path);
        }
        public void TestBasicVolumeFeatures()
        {
            IBlockStorageProvider provider = Bootstrapper.CreateBlockStorageProvider();
            string displayName             = UnitTestVolumePrefix + Path.GetRandomFileName();
            Volume result = provider.CreateVolume(MinimumVolumeSize, displayName: displayName);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Id);

            Console.WriteLine(JsonConvert.SerializeObject(result, Formatting.Indented));

            Volume updated = provider.WaitForVolumeAvailable(result.Id);

            Assert.IsNotNull(updated);
            Assert.AreEqual(result.Id, updated.Id);
            Assert.AreEqual(VolumeState.Available, updated.Status);

            bool deleted = provider.DeleteVolume(result.Id);

            Assert.IsTrue(deleted);

            deleted = provider.WaitForVolumeDeleted(result.Id);
            Assert.IsTrue(deleted);

            try
            {
                provider.ShowVolume(result.Id);
                Assert.Fail("Expected an exception after a volume is deleted.");
            }
            catch (ItemNotFoundException)
            {
                // this makes the most sense
            }
            catch (UserNotAuthorizedException)
            {
                // this is allowed by the interface, and some providers could report it for security reasons
            }
            catch (ResponseException)
            {
                // this is allowed by the interface
            }
        }
Ejemplo n.º 10
0
        public static void ClassInitialize(TestContext testContext)
        {
            IComputeProvider provider   = Bootstrapper.CreateComputeProvider();
            string           serverName = UserComputeTests.UnitTestServerPrefix + Path.GetRandomFileName();

            Flavor flavor = UserComputeTests.ListAllFlavorsWithDetails(provider).OrderBy(i => i.RAMInMB).ThenBy(i => i.DiskSizeInGB).FirstOrDefault();

            if (flavor == null)
            {
                Assert.Inconclusive("Couldn't find a flavor to use for the test server.");
            }

            SimpleServerImage[] images = UserComputeTests.ListAllImages(provider).ToArray();
            SimpleServerImage   image  = images.FirstOrDefault(i => i.Name.IndexOf(TestImageNameSubstring, StringComparison.OrdinalIgnoreCase) >= 0);

            if (image == null)
            {
                Assert.Inconclusive(string.Format("Couldn't find the {0} image to use for the test server.", TestImageNameSubstring));
            }

            Stopwatch timer = Stopwatch.StartNew();

            Console.Write("Creating server for image {0}...", image.Name);
            NewServer server = provider.CreateServer(serverName, image.Id, flavor.Id, attachToServiceNetwork: true);

            Assert.IsNotNull(server);
            Assert.IsFalse(string.IsNullOrEmpty(server.Id));

            _password = server.AdminPassword;

            _server = provider.WaitForServerActive(server.Id);
            Assert.IsNotNull(_server);
            Assert.AreEqual(server.Id, _server.Id);
            Assert.AreEqual(ServerState.Active, _server.Status);

            Console.WriteLine("done. {0} seconds", timer.Elapsed.TotalSeconds);
        }
Ejemplo n.º 11
0
        public static async void InitializeCache()
        {
            IList <IFolder> previouseCache = null;

            using (var writerLock = await _locker.WriterLockAsync())
            {
                _deviceService = DependencyService.Get <IDeviceService>();
                var deviceCache = await _deviceService.GetCacheFolder();

                var cacheRootFolder =
                    await deviceCache.CreateFolderAsync(CacheFolderName, CreationCollisionOption.OpenIfExists);

                previouseCache = await cacheRootFolder.GetFoldersAsync();

                _cacheFolder = await cacheRootFolder.CreateFolderAsync(Path.GetRandomFileName(),
                                                                       CreationCollisionOption.ReplaceExisting);
            }

            //Clear previous cache every time application launches
            //foreach (var folder in previouseCache)
            //{
            //    await folder.DeleteAsync();
            //}
        }
 internal static string CreateRandomDatabaseInstanceName()
 {
     return(TestDatabaseInstancePrefix + Path.GetRandomFileName());
 }
 internal static string CreateRandomBackupName()
 {
     return(TestDatabaseBackupPrefix + Path.GetRandomFileName());
 }
 internal static string CreateRandomPassword()
 {
     return(Path.GetRandomFileName().Replace('.', '_'));
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Gets a unique, randomly generated username which can be added by a unit test.
 /// </summary>
 /// <remarks>
 /// The generated username will include the <see cref="TestUserPrefix"/> prefix to
 /// allow for automatic identification of orphaned users which were created by the
 /// integration tests. The <see cref="CleanupUsers"/> test can be executed to
 /// delete orphaned users.
 /// </remarks>
 /// <returns>The username.</returns>
 private static string GenerateUsername()
 {
     return(TestUserPrefix + Path.GetRandomFileName());
 }
Ejemplo n.º 16
0
 public static string CreateTemporaryPath()
 {
     return(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()));
 }
Ejemplo n.º 17
0
 /// <summary>
 /// Creates a random queue name with the proper prefix for integration testing.
 /// </summary>
 /// <returns>A unique, randomly-generated queue name.</returns>
 private QueueName CreateRandomQueueName()
 {
     return(new QueueName(TestQueuePrefix + Path.GetRandomFileName().Replace('.', '_')));
 }
Ejemplo n.º 18
0
        public void TestCreateImage()
        {
            IComputeProvider provider = Bootstrapper.CreateComputeProvider();

            /* Create the image
             */
            string imageName = UserComputeTests.UnitTestImagePrefix + Path.GetRandomFileName();
            bool   imaged    = provider.CreateImage(_server.Id, imageName);

            Assert.IsTrue(imaged);
            ServerImage[] images = provider.ListImagesWithDetails(server: _server.Id, imageName: imageName).ToArray();
            Assert.IsNotNull(images);
            Assert.AreEqual(1, images.Length);

            ServerImage image = images[0];

            Assert.AreEqual(imageName, image.Name);
            Assert.IsFalse(string.IsNullOrEmpty(image.Id));

            Assert.AreEqual(ImageState.Active, provider.WaitForImageActive(image.Id).Status);

            /* Test metadata operations on the image
             */
            Assert.IsTrue(provider.SetImageMetadataItem(image.Id, "Item 1", "Value"));
            Assert.AreEqual("Value", provider.GetImageMetadataItem(image.Id, "Item 1"));
            Assert.IsTrue(provider.SetImageMetadataItem(image.Id, "Item 2", "Value ²"));
            Assert.AreEqual("Value ²", provider.GetImageMetadataItem(image.Id, "Item 2"));

            // setting the same key overwrites the previous value
            Assert.IsTrue(provider.SetImageMetadataItem(image.Id, "Item 1", "Value 1"));
            Assert.AreEqual("Value 1", provider.GetImageMetadataItem(image.Id, "Item 1"));

            Assert.IsTrue(provider.DeleteImageMetadataItem(image.Id, "Item 1"));
            Assert.IsFalse(provider.ListImageMetadata(image.Id).ContainsKey("Item 1"));

            Metadata metadata = new Metadata()
            {
                { "Different", "Variables" },
            };

            Assert.IsTrue(provider.UpdateImageMetadata(image.Id, metadata));
            Metadata actual = provider.ListImageMetadata(image.Id);

            Assert.IsNotNull(actual);
            Assert.AreEqual("Value ²", actual["Item 2"]);
            Assert.AreEqual("Variables", actual["Different"]);

            // a slight tweak
            metadata["Different"] = "Values";
            Assert.IsTrue(provider.SetImageMetadata(image.Id, metadata));
            actual = provider.ListImageMetadata(image.Id);
            Assert.IsNotNull(actual);
            Assert.AreEqual(1, actual.Count);
            Assert.AreEqual("Values", actual["Different"]);

            Assert.IsTrue(provider.SetImageMetadata(image.Id, new Metadata()));
            Assert.AreEqual(0, provider.ListImageMetadata(image.Id).Count);

            /* Cleanup
             */
            bool deleted = provider.DeleteImage(images[0].Id);

            Assert.IsTrue(deleted);
            provider.WaitForImageDeleted(images[0].Id);
        }
        public void TestBasicSnapshotFeatures()
        {
            IBlockStorageProvider provider = Bootstrapper.CreateBlockStorageProvider();

            //
            // Volume setup...
            //

            string volumeDisplayName = UnitTestVolumePrefix + Path.GetRandomFileName();

            VolumeType ssdType = GetSsdVolumeTypeOrDefault(provider);

            if (ssdType != null)
            {
                Console.WriteLine("Using an SSD volume to improve snapshot test performance.");
            }
            else
            {
                Console.WriteLine("No SSD volume type is available for the snapshot test... falling back to the default.");
            }

            Volume result = provider.CreateVolume(MinimumVolumeSize, displayName: volumeDisplayName, volumeType: ssdType != null ? ssdType.Id : null);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Id);

            Console.WriteLine(JsonConvert.SerializeObject(result, Formatting.Indented));

            Volume updated = provider.WaitForVolumeAvailable(result.Id);

            Assert.IsNotNull(updated);
            Assert.AreEqual(result.Id, updated.Id);
            Assert.AreEqual(VolumeState.Available, updated.Status);

            //
            // Snapshot testing
            //

            string   snapshotDisplayName = UnitTestSnapshotPrefix + Path.GetRandomFileName();
            Snapshot snapshot            = provider.CreateSnapshot(result.Id, displayName: snapshotDisplayName);

            Assert.IsNotNull(snapshot);
            Assert.IsNotNull(snapshot.Id);

            Console.WriteLine(JsonConvert.SerializeObject(snapshot, Formatting.Indented));

            Snapshot updatedSnapshot = provider.WaitForSnapshotAvailable(snapshot.Id);

            Assert.IsNotNull(updatedSnapshot);
            Assert.AreEqual(snapshot.Id, updatedSnapshot.Id);
            Assert.AreEqual(SnapshotState.Available, updatedSnapshot.Status);

            bool deleted = provider.DeleteSnapshot(snapshot.Id);

            Assert.IsTrue(deleted);

            deleted = provider.WaitForSnapshotDeleted(snapshot.Id);
            Assert.IsTrue(deleted);

            try
            {
                provider.ShowSnapshot(snapshot.Id);
                Assert.Fail("Expected an exception after a snapshot is deleted.");
            }
            catch (ItemNotFoundException)
            {
                // this makes the most sense
            }
            catch (UserNotAuthorizedException)
            {
                // this is allowed by the interface, and some providers could report it for security reasons
            }
            catch (ResponseException)
            {
                // this is allowed by the interface
            }

            //
            // Volume cleanup...
            //

            bool deletedVolume = provider.DeleteVolume(result.Id);

            Assert.IsTrue(deletedVolume);

            deletedVolume = provider.WaitForVolumeDeleted(result.Id);
            Assert.IsTrue(deletedVolume);
        }
 internal static DatabaseName CreateRandomDatabaseName()
 {
     return(new DatabaseName(Path.GetRandomFileName().Replace('.', '_')));
 }
Ejemplo n.º 21
0
 internal static string CreateRandomDomainName()
 {
     return(TestDomainPrefix + Path.GetRandomFileName().Replace('.', '-') + ".com");
 }
Ejemplo n.º 22
0
 public void TestUnknownPane()
 {
     Assert.IsNull(OutputWindowService.TryGetPane(Path.GetRandomFileName()));
 }
Ejemplo n.º 23
0
 public static string GetRandomFileName() =>
 MSIOP.GetRandomFileName();