Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-36076

Write acceptance tests for external workspace manager

    • [GSoC] Sprint 2

      Write Acceptance Test Harness for the External Workspace Manager plugin.

      1. Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
      2. Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
      3. Set-up a minimal config, with one node instance and create a basic pipeline job that runs the exwsAllocate and exws steps. Verify the console output for the logged messages. Verify if the External Workspaces run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.
      4. Set-up a bit more complex environment, with two node instances. Maybe if I'll point the localRootPath parameter to the same path on both of the nodes, I may be able to test a bit more complex scenario, in which I will build the project on one node, and test the project on a different node.

          [JENKINS-36076] Write acceptance tests for external workspace manager

          Alexandru Somai created issue -
          Alexandru Somai made changes -
          Epic Link New: JENKINS-35971 [ 171914 ]

          Oleg Nenashev added a comment -

          Action Item: alexsomai to write a list of tests to be implemented

          Oleg Nenashev added a comment - Action Item: alexsomai to write a list of tests to be implemented
          Alexandru Somai made changes -
          Rank New: Ranked higher
          Alexandru Somai made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          Alexandru Somai made changes -
          Description Original: Write Acceptance Test Harness for the External Workspace Manager plugin. New: Write Acceptance Test Harness for the External Workspace Manager plugin.

          Mostly the tests are UI based:
          # Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
          # Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
          # Set-up a minimal config, with one node instance and create a basic pipeline job that runs the _exwsAllocate_ and _exws_ steps. Verify the console output for the logged messages. Verify if the _External Workspaces_ run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.

          I've written some basic test scenarios that I could think of. They are mainly UI based.

          It may be a bit more difficult to test some real-world case scenarios, because the plugin needs a basic set-up, with multiple nodes and mounting points to disks. Unless I don't have a pre-made environment set-up with docker, I don't think I can write more complex test cases.

          Alexandru Somai added a comment - I've written some basic test scenarios that I could think of. They are mainly UI based. It may be a bit more difficult to test some real-world case scenarios, because the plugin needs a basic set-up, with multiple nodes and mounting points to disks. Unless I don't have a pre-made environment set-up with docker, I don't think I can write more complex test cases.
          Alexandru Somai made changes -
          Description Original: Write Acceptance Test Harness for the External Workspace Manager plugin.

          Mostly the tests are UI based:
          # Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
          # Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
          # Set-up a minimal config, with one node instance and create a basic pipeline job that runs the _exwsAllocate_ and _exws_ steps. Verify the console output for the logged messages. Verify if the _External Workspaces_ run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.
          New: Write Acceptance Test Harness for the External Workspace Manager plugin.

          Mostly the tests are UI based:
          # Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
          # Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
          # Set-up a minimal config, with one node instance and create a basic pipeline job that runs the _exwsAllocate_ and _exws_ steps. Verify the console output for the logged messages. Verify if the _External Workspaces_ run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.
          # Set-up a bit more complex environment, with two node instances. Maybe if I'll point the localRootPath parameter to the same path on both of the nodes, I may be able to test a bit more complex scenario, in which I will build the project on one node, and test the project on a different node.
          Alexandru Somai made changes -
          Description Original: Write Acceptance Test Harness for the External Workspace Manager plugin.

          Mostly the tests are UI based:
          # Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
          # Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
          # Set-up a minimal config, with one node instance and create a basic pipeline job that runs the _exwsAllocate_ and _exws_ steps. Verify the console output for the logged messages. Verify if the _External Workspaces_ run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.
          # Set-up a bit more complex environment, with two node instances. Maybe if I'll point the localRootPath parameter to the same path on both of the nodes, I may be able to test a bit more complex scenario, in which I will build the project on one node, and test the project on a different node.
          New: Write Acceptance Test Harness for the External Workspace Manager plugin.

          Mostly the tests are UI based:
          # Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
          # Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
          # Set-up a minimal config, with one node instance and create a basic pipeline job that runs the _exwsAllocate_ and _exws_ steps. Verify the console output for the logged messages. Verify if the _External Workspaces_ run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.
          # Set-up a bit more complex environment, with two node instances. Maybe if I'll point the _localRootPath_ parameter to the same path on both of the nodes, I may be able to test a bit more complex scenario, in which I will build the project on one node, and test the project on a different node.
          Alexandru Somai made changes -
          Description Original: Write Acceptance Test Harness for the External Workspace Manager plugin.

          Mostly the tests are UI based:
          # Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
          # Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
          # Set-up a minimal config, with one node instance and create a basic pipeline job that runs the _exwsAllocate_ and _exws_ steps. Verify the console output for the logged messages. Verify if the _External Workspaces_ run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.
          # Set-up a bit more complex environment, with two node instances. Maybe if I'll point the _localRootPath_ parameter to the same path on both of the nodes, I may be able to test a bit more complex scenario, in which I will build the project on one node, and test the project on a different node.
          New: Write Acceptance Test Harness for the External Workspace Manager plugin.

          # Test the Jenkins global config sections, External Workspace Definitions and External Workspace Templates. - e.g. fill in the text boxes, save, and verify if the information was saved correctly
          # Test the Node configuration, External Workspace property - select the checkbox and fill in the text boxes, after saving, the information should be persisted
          # Set-up a minimal config, with one node instance and create a basic pipeline job that runs the _exwsAllocate_ and _exws_ steps. Verify the console output for the logged messages. Verify if the _External Workspaces_ run action outputs the appropriate information, e.g. selected disk pool, selected disk, complete path on disk.
          # Set-up a bit more complex environment, with two node instances. Maybe if I'll point the _localRootPath_ parameter to the same path on both of the nodes, I may be able to test a bit more complex scenario, in which I will build the project on one node, and test the project on a different node.

            alexsomai Alexandru Somai
            alexsomai Alexandru Somai
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: