@Test
  public void testLunDiskValid() {
    VDS vds = mockVds();
    LunDisk disk = createISCSILunDisk();
    disk.setDiskInterface(DiskInterface.VirtIO);

    AddDiskParameters parameters = createParameters();
    parameters.setDiskInfo(disk);
    parameters.setVdsId(vds.getId());
    initializeCommand(Guid.newGuid(), parameters);
    command.setVds(vds);

    mockVm();
    mockMaxPciSlots();
    mockInterfaceList();

    List<LUNs> luns = Collections.singletonList(disk.getLun());
    doReturn(luns)
        .when(command)
        .executeGetDeviceList(any(Guid.class), any(StorageType.class), (any(String.class)));
    CanDoActionTestUtils.runAndAssertCanDoActionSuccess(command);
  }
  @Test
  public void testLunDiskInvalid() {
    VDS vds = mockVds();
    LunDisk disk = createISCSILunDisk();
    disk.setDiskInterface(DiskInterface.VirtIO);

    AddDiskParameters parameters = createParameters();
    parameters.setDiskInfo(disk);
    parameters.setVdsId(vds.getId());
    initializeCommand(Guid.newGuid(), parameters);
    command.setVds(vds);

    mockVm();
    mockMaxPciSlots();
    mockInterfaceList();

    List<LUNs> luns = Collections.emptyList();
    doReturn(luns)
        .when(command)
        .executeGetDeviceList(any(Guid.class), any(StorageType.class), any(String.class));
    CanDoActionTestUtils.runAndAssertCanDoActionFailure(
        command, EngineMessage.ACTION_TYPE_FAILED_DISK_LUN_INVALID);
  }