示例#1
0
        public void Test()
        {
            foreach (VM vm in RunTest(GetSingleSelections()))
            {
                EnsureChecked(MainWindowWrapper.ViewMenuItems.TemplatesToolStripMenuItem, CheckState.Unchecked);

                int vbdCount = DbProxy.proxys[vm.Connection].db.Tables["vbd"].Rows.Count;

                VM   colsureVM = vm;
                bool checkVBDs = true;
                MW(delegate
                {
                    MainWindowWrapper.StorageMenuItems.AttachVirtualDiskToolStripMenuItemInStorageMenu.PerformClick();
                    AttachDiskDialogWrapper attachDiskDialogWrapper       = new AttachDiskDialogWrapper(WaitForWindowToAppear("Attach Disk"));
                    attachDiskDialogWrapper.DiskListTreeView.SelectedItem = attachDiskDialogWrapper.DiskListTreeView.Nodes.Find(n => n.Level == 1);
                    if (colsureVM.IsHVM)
                    {
                        Assert.IsFalse(attachDiskDialogWrapper.ReadOnlyCheckBox.Enabled, "ReadOnly Checkbox enabled");
                        if (attachDiskDialogWrapper.ReadOnlyCheckBox.Checked)
                        {
                            Assert.IsFalse(attachDiskDialogWrapper.OkBtn.Enabled,
                                           "OK button of AttachDiskDialog enabled for VM: " + colsureVM.name_label);
                            attachDiskDialogWrapper.CancelBtn.PerformClick();
                            checkVBDs = false;
                        }
                        else
                        {
                            Assert.IsTrue(attachDiskDialogWrapper.OkBtn.Enabled,
                                          "OK button of AttachDiskDialog enabled for VM: " + colsureVM.name_label);
                            attachDiskDialogWrapper.OkBtn.PerformClick();
                        }
                    }
                    else
                    {
                        if (attachDiskDialogWrapper.ReadOnlyCheckBox.Checked)
                        {
                            Assert.IsFalse(attachDiskDialogWrapper.ReadOnlyCheckBox.Enabled, "ReadOnly Checkbox enabled");
                        }
                        else
                        {
                            Assert.IsTrue(attachDiskDialogWrapper.ReadOnlyCheckBox.Enabled, "ReadOnly Checkbox enabled");
                        }

                        Assert.IsTrue(attachDiskDialogWrapper.OkBtn.Enabled,
                                      "OK button of AttachDiskDialog enabled for VM: " + colsureVM.name_label);
                        attachDiskDialogWrapper.OkBtn.PerformClick();
                    }
                });

                Func <bool> finished;
                if (checkVBDs)
                {
                    // ensure that the number of VBDs has increased.
                    finished = delegate
                    {
                        return(DbProxy.proxys[vm.Connection].db.Tables["vbd"].Rows.Count == vbdCount + 1);
                    };
                }
                else
                {
                    finished = delegate
                    {
                        return(DbProxy.proxys[vm.Connection].db.Tables["vbd"].Rows.Count == vbdCount);
                    };
                }

                // wait until command finished.
                MWWaitFor(finished, "AttachVirtualDiskCommandTest tried to check VBD count but couldn't finish.");
            }
        }
        public void Test()
        {
            foreach (VM vm in RunTest(GetSingleSelections()))
            {
                EnsureChecked(MainWindowWrapper.ViewMenuItems.TemplatesToolStripMenuItem, CheckState.Unchecked);

                int vbdCount = DbProxy.proxys[vm.Connection].db.Tables["vbd"].Rows.Count;

                VM colsureVM = vm;
                bool checkVBDs = true;
                MW(delegate
                {
                    MainWindowWrapper.StorageMenuItems.AttachVirtualDiskToolStripMenuItemInStorageMenu.PerformClick();
                    AttachDiskDialogWrapper attachDiskDialogWrapper = new AttachDiskDialogWrapper(WaitForWindowToAppear("Attach Disk"));
                    attachDiskDialogWrapper.DiskListTreeView.SelectedItem = attachDiskDialogWrapper.DiskListTreeView.Nodes.Find(n => n.Level == 1);
                    if (colsureVM.IsHVM)
                    {
                        Assert.IsFalse(attachDiskDialogWrapper.ReadOnlyCheckBox.Enabled, "ReadOnly Checkbox enabled");
                        if (attachDiskDialogWrapper.ReadOnlyCheckBox.Checked)
                        {
                            Assert.IsFalse(attachDiskDialogWrapper.OkBtn.Enabled,
                                       "OK button of AttachDiskDialog enabled for VM: " + colsureVM.name_label);
                            attachDiskDialogWrapper.CancelBtn.PerformClick();
                            checkVBDs = false;
                        }
                        else
                        {
                            Assert.IsTrue(attachDiskDialogWrapper.OkBtn.Enabled,
                                           "OK button of AttachDiskDialog enabled for VM: " + colsureVM.name_label);
                            attachDiskDialogWrapper.OkBtn.PerformClick();
                        }
                    }
                    else
                    {
                        if (attachDiskDialogWrapper.ReadOnlyCheckBox.Checked)
                            Assert.IsFalse(attachDiskDialogWrapper.ReadOnlyCheckBox.Enabled, "ReadOnly Checkbox enabled");
                        else
                            Assert.IsTrue(attachDiskDialogWrapper.ReadOnlyCheckBox.Enabled, "ReadOnly Checkbox enabled");

                        Assert.IsTrue(attachDiskDialogWrapper.OkBtn.Enabled,
                                      "OK button of AttachDiskDialog enabled for VM: " + colsureVM.name_label);
                        attachDiskDialogWrapper.OkBtn.PerformClick();
                    }
                });

                Func<bool> finished;
                if(checkVBDs)
                {
                    // ensure that the number of VBDs has increased.
                    finished = delegate
                    {
                        return DbProxy.proxys[vm.Connection].db.Tables["vbd"].Rows.Count == vbdCount + 1;
                    };
                }
                else
                {
                    finished = delegate
                    {
                        return DbProxy.proxys[vm.Connection].db.Tables["vbd"].Rows.Count == vbdCount;
                    }; 
                }

                // wait until command finished.
                MWWaitFor(finished, "AttachVirtualDiskCommandTest tried to check VBD count but couldn't finish.");

            }
        }