Skip to content

Commit

Permalink
Merge pull request #5 from nam-ng/dev
Browse files Browse the repository at this point in the history
Add TC Remove Azure Module and Generate Code
  • Loading branch information
giangchau95 authored Apr 11, 2023
2 parents dd8512d + c43ee20 commit 07c06cb
Show file tree
Hide file tree
Showing 5 changed files with 198 additions and 92 deletions.
7 changes: 7 additions & 0 deletions swtbot_test/src/parameters/ProjectParameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public class ProjectParameters {
public static final String CODE_GENERATING = "Code Generating";
public static final String WINDOW_CHANGE_VERSION = "Change Version";
public static final String SCFG_COMPONENT_TAB = "Components";
public static final String GENERAL = "General";
public static final CharSequence WINDOW_QUESTION = "Question";


public class RTOSType {
Expand Down Expand Up @@ -117,6 +119,7 @@ public class LabelName {
public static final String LABEL_TARGET_DEVICE = "&Target Device:";
public static final String LABEL_FILTER = "Filter";
public static final String LABEL_AVAILABLE_VERSION = "&Available versions:";
public static final String LABEL_CURRENT_VERSION = "&Current version:";
}

public class MenuName {
Expand All @@ -143,12 +146,16 @@ public class FolderAndFile {
public static final String FILE_FX_USER_H = "fx_user.h";
public static final String FILE_NX_USER_H = "nx_user.h";
public static final String FILE_NXD_DHCP_CLIENT_H = "nxd_dhcp_client.h";
public static final String FOLDER_RTOS_KERNEL = "RTOS Kernel";
public static final String FOLDER_RTOS_OBJECT = "RTOS Object";
}

public class RTOSComponent {
public static final String FILEX = "filex";
public static final String NETXDUO = "netxduo";
public static final String NETXDUO_ADDONS = "netxduo_addons";
public static final String USBX = "usbx";
public static final String THREADX = "threadx";
public static final String AZURERTOS_OBJECT = "azurertos_object";
}
}
77 changes: 17 additions & 60 deletions swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,18 @@
import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;

import common.Constants;
import common.LogUtil;
import utilities.PGUtility;
import utilities.Utility;

import model.ProjectModel;
import model.RTOSManager;
import parameters.ProjectParameters;
import parameters.ProjectParameters.RTOSApplication;
import parameters.ProjectParameters.RTOSType;
import parameters.ProjectParameters.RTOSVersion;
import parameters.ProjectParameters.TargetBoard;
import platform.PlatformModel;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
Expand All @@ -36,88 +39,42 @@ public static void beforeClass() throws Exception {
bot = new SWTWorkbenchBot();
PlatformModel.loadPlatformModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, PLATFORM_XML_FILE)));
RTOSManager.loadRTOSModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, RTOS_PG_XML_FILE)));
Collection<ProjectModel> list = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"addAzureModuleAndGenCode");
if(list.size()==1) {
for(ProjectModel model:list) {
projectModelSpecific=model;
}
}
projectModelSpecific = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB);
}

@Test
public void tc_01_CreateThreadxProject() throws Exception{
PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"addAzureModuleAndGenCode");
PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB);

}

@Test
public void tc_02_AddComponentFilex() throws Exception{
Utility.openSCFGEditor(projectModelSpecific);
Utility.addComponentAndGenerate("filex");
Utility.getProjectExplorerView().setFocus();
SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " [HardwareDebug]");
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand();
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).expand();
SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).getItems();
boolean isFileExist = false;
for(SWTBotTreeItem item: items) {
if(item.getText().contains(ProjectParameters.FolderAndFile.FILE_FX_USER_H)) {
isFileExist = true;
}
}
if (!isFileExist) {
Utility.addComponent("filex");
Utility.clickGenerateCode();
boolean isFileXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.FILEX);
if (!isFileXInComponentTree) {
assertFalse(true);
}
}
@Test
public void tc_03_AddComponentNetxduo() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
Utility.addComponentAndGenerate("netx");
Utility.getProjectExplorerView().setFocus();
SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " [HardwareDebug]");
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand();
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.NETXDUO)
.expand();
SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO).getItems();
boolean isFileExist = false;
for (SWTBotTreeItem item : items) {
if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NX_USER_H)) {
isFileExist = true;
}
}
if (!isFileExist) {
Utility.addComponent("netx");
Utility.clickGenerateCode();
boolean isNetXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO);
if (!isNetXInComponentTree) {
assertFalse(true);
}
}
@Test
public void tc_04_AddComponentNetxduoAddons() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
;
Utility.addComponentAndGenerate("netx duo addons");
Utility.getProjectExplorerView().setFocus();
SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " [HardwareDebug]");
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand();
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand();
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).expand();
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).expand();
SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).getItems();
boolean isFileExist = false;
for (SWTBotTreeItem item : items) {
if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NXD_DHCP_CLIENT_H)) {
isFileExist = true;
}
}
if (!isFileExist) {
Utility.addComponent("netx duo addons");
Utility.clickGenerateCode();
boolean isAddonsInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO_ADDONS);
if (!isAddonsInComponentTree) {
assertFalse(true);
}
}
Expand Down
46 changes: 18 additions & 28 deletions swtbot_test/src/testsuites/ChangeRTOSVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,18 @@
import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;

import common.Constants;
import common.LogUtil;
import utilities.PGUtility;
import utilities.Utility;

import model.ProjectModel;
import model.RTOSManager;
import parameters.ProjectParameters;
import parameters.ProjectParameters.RTOSApplication;
import parameters.ProjectParameters.RTOSType;
import parameters.ProjectParameters.RTOSVersion;
import parameters.ProjectParameters.TargetBoard;
import platform.PlatformModel;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
Expand All @@ -37,32 +40,25 @@ public static void beforeClass() throws Exception {
bot = new SWTWorkbenchBot();
PlatformModel.loadPlatformModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, PLATFORM_XML_FILE)));
RTOSManager.loadRTOSModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, RTOS_PG_XML_FILE)));
Collection<ProjectModel> list = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"changeRTOSVersion");
if(list.size()==1) {
for(ProjectModel model:list) {
projectModelSpecific=model;
}
}
projectModelSpecific = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_USBX_CDC, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_CK_RX65N);
}

@Test
public void tc_01_CreateUsbxProject() throws Exception{
PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"changeRTOSVersion");

PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_USBX_CDC, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_CK_RX65N);
}

@Test
public void tc_02_ChangeRTOSVersion() throws Exception{
Utility.openSCFGEditor(projectModelSpecific);
Utility.getProjectExplorerView().close();
bot.text().setText(ProjectParameters.RTOSComponent.USBX);
bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getNode(ProjectParameters.RTOSComponent.USBX).contextMenu(ProjectParameters.MenuName.MENU_CHANGE_VERSION).click();
bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getNode(ProjectParameters.RTOSComponent.USBX).contextMenu(ProjectParameters.MenuName.MENU_CHANGE_VERSION).click();
bot.comboBoxWithLabel(ProjectParameters.LabelName.LABEL_AVAILABLE_VERSION).setSelection(ProjectParameters.RTOSVersion.Azure_6_1_6);
bot.button(ProjectParameters.ButtonAction.BUTTON_NEXT).click();
SWTBotTreeItem[] allItems= bot.tree().getAllItems();
boolean isUsbXShowInTable = false;
for(SWTBotTreeItem item:allItems) {
if (item.getText().contains("usbx configurations")) {
for (SWTBotTreeItem item : allItems) {
if (item.cell(0).contains("usbx configurations") && item.cell(1).contains("Removed")) {
isUsbXShowInTable = true;
}
}
Expand All @@ -73,23 +69,17 @@ public void tc_02_ChangeRTOSVersion() throws Exception{
if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) {
bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click();
}
bot.sleep(15000);
boolean isUsbXInComponentTree = false;
bot.text().setText("");
bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).expand();
List<String> RTOSFolder = bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNodes();
for(String folder:RTOSFolder) {
if (folder.contains(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY)) {
SWTBotTreeItem[] componentItems = bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getItems();
for (SWTBotTreeItem currentItem: componentItems) {
if (currentItem.getText().contains(ProjectParameters.RTOSComponent.USBX)) {
isUsbXInComponentTree = true;
}
}
}
}
bot.sleep(25000);
boolean isUsbXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.USBX);
Utility.addComponent(ProjectParameters.RTOSComponent.FILEX);
bot.text().setText(ProjectParameters.RTOSComponent.FILEX);
bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getNode(ProjectParameters.RTOSComponent.FILEX).contextMenu(ProjectParameters.MenuName.MENU_CHANGE_VERSION).click();
String currentVersion = bot.textWithLabel(ProjectParameters.LabelName.LABEL_CURRENT_VERSION).getText();
bot.button(ProjectParameters.ButtonAction.BUTTON_CANCEL).click();
boolean isVersionChange = currentVersion.contains(ProjectParameters.RTOSVersion.Azure_6_1_6);
Utility.openProjectExplorer();
if (!isUsbXShowInTable || isUsbXInComponentTree) {
if (!isUsbXShowInTable || isUsbXInComponentTree || !isVersionChange) {
assertFalse(true);
}
}
Expand Down
117 changes: 117 additions & 0 deletions swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
package testsuites;

import static org.junit.Assert.assertFalse;

import java.io.File;
import java.util.Collection;
import java.util.List;

import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.junit.Test;
import org.junit.BeforeClass;
import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;

import common.Constants;
import common.LogUtil;
import utilities.PGUtility;
import utilities.Utility;

import model.ProjectModel;
import model.RTOSManager;
import parameters.ProjectParameters;
import parameters.ProjectParameters.RTOSApplication;
import parameters.ProjectParameters.RTOSType;
import parameters.ProjectParameters.RTOSVersion;
import parameters.ProjectParameters.TargetBoard;
import platform.PlatformModel;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class RemoveAzureModuleAndGenerateCode{
private static SWTWorkbenchBot bot;
private static ProjectModel projectModelSpecific = new ProjectModel();
private static final String PLATFORM_XML_FILE = "xml/platformdata.xml";
private static final String RTOS_PG_XML_FILE = "xml/rtospg.xml";

@BeforeClass
public static void beforeClass() throws Exception {
bot = new SWTWorkbenchBot();
PlatformModel.loadPlatformModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, PLATFORM_XML_FILE)));
RTOSManager.loadRTOSModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, RTOS_PG_XML_FILE)));
projectModelSpecific = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB);
}

@Test
public void tc_01_CreateThreadxProject() throws Exception{
PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB);

}

@Test
public void tc_02_AddComponentFilex() throws Exception{
Utility.openSCFGEditor(projectModelSpecific);
Utility.addComponent("filex");
Utility.clickGenerateCode();
boolean isFileXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.FILEX);
if (!isFileXInComponentTree) {
assertFalse(true);
}
}
@Test
public void tc_03_AddComponentNetxduo() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
Utility.addComponent("netx");
Utility.clickGenerateCode();
boolean isNetXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO);
if (!isNetXInComponentTree) {
assertFalse(true);
}
}
@Test
public void tc_04_AddComponentNetxduoAddons() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
Utility.addComponent("netx duo addons");
Utility.clickGenerateCode();
boolean isAddonsInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO_ADDONS);
if (!isAddonsInComponentTree) {
assertFalse(true);
}
}
@Test
public void tc_05_RemoveComponentFilex() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
Utility.removeComponent(ProjectParameters.RTOSComponent.FILEX);
Utility.clickGenerateCode();
boolean isFileXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.FILEX);
if (isFileXInComponentTree) {
assertFalse(true);
}
}

@Test
public void tc_06_RemoveComponentNetxduoAddons() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
Utility.removeComponent(ProjectParameters.RTOSComponent.NETXDUO_ADDONS);
Utility.clickGenerateCode();
boolean isAddonsInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO_ADDONS);
if (isAddonsInComponentTree) {
assertFalse(true);
}
}

@Test
public void tc_07_RemoveComponentNetxduo() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
Utility.removeComponent(ProjectParameters.RTOSComponent.NETXDUO);
Utility.clickGenerateCode();
boolean isNetXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO);
if (isNetXInComponentTree) {
assertFalse(true);
}
}



}
Loading

0 comments on commit 07c06cb

Please sign in to comment.