Skip to content

Commit

Permalink
Check for component in add and remove instead of File
Browse files Browse the repository at this point in the history
Separate add remove component utils with click generate code
check for RTOS version in changeRTOSVersion
  • Loading branch information
an-phung committed Apr 11, 2023
1 parent a97bba0 commit c43ee20
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 222 deletions.
5 changes: 5 additions & 0 deletions swtbot_test/src/parameters/ProjectParameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -119,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 @@ -145,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";
}
}
65 changes: 12 additions & 53 deletions swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,71 +51,30 @@ public void tc_01_CreateThreadxProject() throws Exception{
@Test
public void tc_02_AddComponentFilex() throws Exception{
Utility.openSCFGEditor(projectModelSpecific);
Utility.addComponentAndGenerate("filex");
Utility.getProjectExplorerView().setFocus();
SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
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() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
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() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
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
29 changes: 11 additions & 18 deletions swtbot_test/src/testsuites/ChangeRTOSVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,8 @@ public void tc_01_CreateUsbxProject() throws Exception{
@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();
Expand All @@ -70,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(20000);
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
165 changes: 27 additions & 138 deletions swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,177 +52,66 @@ public void tc_01_CreateThreadxProject() throws Exception{
@Test
public void tc_02_AddComponentFilex() throws Exception{
Utility.openSCFGEditor(projectModelSpecific);
Utility.addComponentAndGenerate("filex");
Utility.getProjectExplorerView().setFocus();
SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
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() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
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() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
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);
}
}
@Test
public void tc_05_RemoveComponentFilex() throws Exception{
bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus();
Utility.removeComponentAndGenerate(ProjectParameters.RTOSComponent.FILEX);
Utility.openProjectExplorer();
bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select();
SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand();
List<String> folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes();
boolean isFileExist = false;
for (String libsItem : folderLibsItem) {
if (libsItem.equals(ProjectParameters.RTOSComponent.FILEX)) {
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.FILEX).expand();
SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.FILEX).getItems();
for (SWTBotTreeItem item : items) {
if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_FX_USER_H)) {
isFileExist = true;
}
}
}
}
if (isFileExist) {
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.removeComponentAndGenerate(ProjectParameters.RTOSComponent.NETXDUO_ADDONS);
Utility.openProjectExplorer();
bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select();
SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand();
List<String> folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes();
boolean isFileExist = false;
for (String libsItem : folderLibsItem) {
if (libsItem.equals(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)) {
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand();
SWTBotTreeItem[] folderAddonitems = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).getItems();
for (SWTBotTreeItem addonItem : folderAddonitems) {
if (addonItem.getText().contains(ProjectParameters.FolderAndFile.FOLDER_ADDONS)) {
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).expand();
SWTBotTreeItem[] folderDhcpItems = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)
.getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).getItems();
for (SWTBotTreeItem dhcpItem : folderDhcpItems) {
if (addonItem.getText().contains(ProjectParameters.FolderAndFile.FOLDER_DHCP)) {
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();
for (SWTBotTreeItem item : items) {
if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NXD_DHCP_CLIENT_H)) {
isFileExist = true;
}
}
}
}
}
}
}
}
if (isFileExist) {
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.removeComponentAndGenerate(ProjectParameters.RTOSComponent.NETXDUO);
Utility.openProjectExplorer();
bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select();
SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]");
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand();
List<String> folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes();
boolean isFileExist = false;
for (String libsItem : folderLibsItem) {
if (libsItem.equals(ProjectParameters.RTOSComponent.NETXDUO)) {
project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO).expand();
SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS)
.getNode(ProjectParameters.RTOSComponent.NETXDUO).getItems();
for (SWTBotTreeItem item : items) {
if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NX_USER_H)) {
isFileExist = true;
}
}
}
}
bot.text().setText("");
if (isFileExist) {
Utility.removeComponent(ProjectParameters.RTOSComponent.NETXDUO);
Utility.clickGenerateCode();
boolean isNetXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO);
if (isNetXInComponentTree) {
assertFalse(true);
}
}



}
Loading

0 comments on commit c43ee20

Please sign in to comment.