コード例 #1
0
    def test_create_kitchen(self):
        parent = 'CLI-Top'
        kitchen = 'temp-create-kitchen-Runner'
        kitchen = self._add_my_guid(kitchen)

        rv = DKCloudCommandRunner.delete_kitchen(self._api, kitchen)
        self.assertIsNotNone(rv)
        rv = DKCloudCommandRunner.create_kitchen(self._api, parent, kitchen)
        self.assertTrue(rv.ok())
        rc = DKCloudCommandRunner.list_kitchen(self._api)
        rv2 = rc.get_message()
        self.assertTrue(kitchen in rv2)
        # cleanup
        rv = DKCloudCommandRunner.delete_kitchen(self._api, kitchen)
        self.assertIsNotNone(rv)
コード例 #2
0
    def test_create_kitchen(self):
        parent = 'CLI-Top'
        kitchen = 'temp-create-kitchen-Runner'
        kitchen = self._add_my_guid(kitchen)

        rv = DKCloudCommandRunner.delete_kitchen(self._api, kitchen)
        self.assertIsNotNone(rv)
        rv = DKCloudCommandRunner.create_kitchen(self._api, parent, kitchen)
        self.assertTrue(rv.ok())
        rc = DKCloudCommandRunner.list_kitchen(self._api)
        rv2 = rc.get_message()
        self.assertTrue(kitchen in rv2)
        # cleanup
        rv = DKCloudCommandRunner.delete_kitchen(self._api, kitchen)
        self.assertIsNotNone(rv)
コード例 #3
0
 def test_delete_one_order(self):
     # setup
     parent_kitchen = 'CLI-Top'
     new_kitchen = 'test_deleteall_order-RUN'
     new_kitchen = self._add_my_guid(new_kitchen)
     recipe = 'simple'
     variation = 'simple-variation-now'
     DKCloudCommandRunner.delete_kitchen(self._api, new_kitchen)  # clean up junk
     rc = DKCloudCommandRunner.create_kitchen(self._api, parent_kitchen, new_kitchen)
     self.assertTrue(rc.ok())
     rv = DKCloudCommandRunner.create_order(self._api, new_kitchen, recipe, variation)
     self.assertIsNotNone(rv)
     order_id = rv.get_payload()['serving_chronos_id']
     self.assertIsNotNone(variation in order_id)
     # test
     rc = DKCloudCommandRunner.delete_one_order(self._api, order_id)
     self.assertTrue(rc.ok())
     # cleanup
     DKCloudCommandRunner.delete_kitchen(self._api, new_kitchen)
コード例 #4
0
 def test_delete_one_order(self):
     # setup
     parent_kitchen = 'CLI-Top'
     new_kitchen = 'test_deleteall_order-RUN'
     new_kitchen = self._add_my_guid(new_kitchen)
     recipe = 'simple'
     variation = 'simple-variation-now'
     DKCloudCommandRunner.delete_kitchen(self._api, new_kitchen)  # clean up junk
     rc = DKCloudCommandRunner.create_kitchen(self._api, parent_kitchen, new_kitchen)
     self.assertTrue(rc.ok())
     rv = DKCloudCommandRunner.create_order(self._api, new_kitchen, recipe, variation)
     self.assertIsNotNone(rv)
     order_id = rv.get_payload()
     self.assertIsNotNone(variation in order_id)
     # test
     rc = DKCloudCommandRunner.delete_one_order(self._api, order_id)
     self.assertTrue(rc.ok())
     # cleanup
     DKCloudCommandRunner.delete_kitchen(self._api, new_kitchen)
コード例 #5
0
 def test_stop_order(self):
     # setup
     parent_kitchen = 'CLI-Top'
     new_kitchen = 'test_stop_order-RUN'
     new_kitchen = self._add_my_guid(new_kitchen)
     recipe = 'simple'
     variation = 'simple-variation-now'
     DKCloudCommandRunner.delete_kitchen(self._api, new_kitchen)  # clean up junk
     rc = DKCloudCommandRunner.create_kitchen(self._api, parent_kitchen, new_kitchen)
     self.assertTrue(rc.ok())
     rv = DKCloudCommandRunner.create_order(self._api, new_kitchen, recipe, variation)
     self.assertIsNotNone(rv)
     order_id = rv.get_payload()
     self.assertIsNotNone(variation in order_id)
     # test
     rc = DKCloudCommandRunner.stop_order(self._api, order_id)
     # todo: need to find a way for this to succeed
     self.assertTrue(rc.ok())
     # cleanup
     DKCloudCommandRunner.delete_kitchen(self._api, new_kitchen)
コード例 #6
0
 def _delete_and_clean_kitchen(self, kitchen_name):
     DKCloudCommandRunner.delete_kitchen(self._api, kitchen_name)
コード例 #7
0
 def _delete_and_clean_kitchen(self, kitchen_name):
     DKCloudCommandRunner.delete_kitchen(self._api, kitchen_name)
コード例 #8
0
    def test_merge_resolution(self):
        self.assertTrue(True)
        base_kitchen = 'CLI-Top'
        parent_kitchen = 'merge_resolve_parent'
        parent_kitchen = self._add_my_guid(parent_kitchen)
        child_kitchen = 'merge_resolve_child'
        child_kitchen = self._add_my_guid(child_kitchen)
        recipe = 'simple'
        conflicted_file = 'conflicted-file.txt'

        temp_dir_child, kitchen_dir_child, recipe_dir_child = self._make_recipe_dir(recipe, child_kitchen)
        temp_dir_parent, kitchen_dir_parent, recipe_dir_parent = self._make_recipe_dir(recipe, parent_kitchen)

        setup = True
        cleanup = True
        if setup:
            rc = DKCloudCommandRunner.delete_kitchen(self._api, child_kitchen)
            rc = DKCloudCommandRunner.delete_kitchen(self._api, parent_kitchen)

            rc = DKCloudCommandRunner.create_kitchen(self._api, parent_kitchen=base_kitchen, new_kitchen=parent_kitchen)
            self.assertTrue(rc.ok())
            rc = DKCloudCommandRunner.create_kitchen(self._api, parent_kitchen=parent_kitchen, new_kitchen=child_kitchen)
            self.assertTrue(rc.ok())

            os.chdir(recipe_dir_parent)
            # parent_file = os.path.join(recipe, conflicted_file)
            with open(conflicted_file, 'w') as f:
                f.write('line1\nparent\nline2\n')
            rc = DKCloudCommandRunner.add_file(self._api, parent_kitchen, recipe, 'adding %s to %s' % (conflicted_file, parent_kitchen), conflicted_file)
            self.assertTrue(rc.ok())

            os.chdir(recipe_dir_child)
            # child_file = os.path.join(recipe, conflicted_file)
            with open(conflicted_file, 'w') as f:
                f.write('line1\nchild\nline2\n')
            rc = DKCloudCommandRunner.add_file(self._api, child_kitchen, recipe, 'adding %s to %s' % (conflicted_file, child_kitchen), conflicted_file)
            self.assertTrue(rc.ok())

        # Make sure we are in the recipe folder before merging
        os.chdir(recipe_dir_child)
        rc = DKCloudCommandRunner.merge_kitchens_improved(self._api, child_kitchen, parent_kitchen)
        self.assertTrue('1 conflict found' in rc.get_message())
        self.assertTrue('simple/conflicted-file.txt' in rc.get_message())

        rc = DKCloudCommandRunner.merge_kitchens_improved(self._api, child_kitchen, parent_kitchen)
        self.assertTrue('Unresolved conflicts' in rc.get_message())
        self.assertTrue('conflicted-file.txt' in rc.get_message())

        rc = DKCloudCommandRunner.get_unresolved_conflicts(recipe, recipe_dir_child)
        self.assertTrue(rc.ok())
        self.assertTrue('Unresolved conflicts' in rc.get_message())

        rc = DKCloudCommandRunner.resolve_conflict(conflicted_file)
        self.assertTrue(rc.ok())
        self.assertTrue('Conflict resolved' in rc.get_message())

        rc = DKCloudCommandRunner.get_unresolved_conflicts(recipe, recipe_dir_child)
        self.assertTrue(rc.ok())
        self.assertTrue('No conflicts found' in rc.get_message())

        rc = DKCloudCommandRunner.merge_kitchens_improved(self._api, child_kitchen, parent_kitchen)
        self.assertTrue('Unresolved conflicts' not in rc.get_message())

        if cleanup:
            DKCloudCommandRunner.delete_kitchen(self._api, child_kitchen)
            DKCloudCommandRunner.delete_kitchen(self._api, parent_kitchen)
            shutil.rmtree(temp_dir_child, ignore_errors=True)
            shutil.rmtree(temp_dir_parent, ignore_errors=True)
コード例 #9
0
    def test_merge_resolution(self):
        self.assertTrue(True)
        base_kitchen = 'CLI-Top'
        parent_kitchen = 'merge_resolve_parent'
        parent_kitchen = self._add_my_guid(parent_kitchen)
        child_kitchen = 'merge_resolve_child'
        child_kitchen = self._add_my_guid(child_kitchen)
        recipe = 'simple'
        conflicted_file = 'conflicted-file.txt'

        temp_dir_child, kitchen_dir_child, recipe_dir_child = self._make_recipe_dir(recipe, child_kitchen)
        temp_dir_parent, kitchen_dir_parent, recipe_dir_parent = self._make_recipe_dir(recipe, parent_kitchen)

        setup = True
        cleanup = True
        if setup:
            rc = DKCloudCommandRunner.delete_kitchen(self._api, child_kitchen)
            rc = DKCloudCommandRunner.delete_kitchen(self._api, parent_kitchen)

            rc = DKCloudCommandRunner.create_kitchen(self._api, parent_kitchen=base_kitchen, new_kitchen=parent_kitchen)
            self.assertTrue(rc.ok())
            rc = DKCloudCommandRunner.create_kitchen(self._api, parent_kitchen=parent_kitchen, new_kitchen=child_kitchen)
            self.assertTrue(rc.ok())

            os.chdir(recipe_dir_parent)
            # parent_file = os.path.join(recipe, conflicted_file)
            with open(conflicted_file, 'w') as f:
                f.write('line1\nparent\nline2\n')
            rc = DKCloudCommandRunner.add_file(self._api, parent_kitchen, recipe, 'adding %s to %s' % (conflicted_file, parent_kitchen), conflicted_file)
            self.assertTrue(rc.ok())

            os.chdir(recipe_dir_child)
            # child_file = os.path.join(recipe, conflicted_file)
            with open(conflicted_file, 'w') as f:
                f.write('line1\nchild\nline2\n')
            rc = DKCloudCommandRunner.add_file(self._api, child_kitchen, recipe, 'adding %s to %s' % (conflicted_file, child_kitchen), conflicted_file)
            self.assertTrue(rc.ok())

        # Make sure we are in the recipe folder before merging
        os.chdir(recipe_dir_child)
        rc = DKCloudCommandRunner.merge_kitchens_improved(self._api, child_kitchen, parent_kitchen)
        self.assertTrue('1 conflict found' in rc.get_message())
        self.assertTrue('simple/conflicted-file.txt' in rc.get_message())

        rc = DKCloudCommandRunner.merge_kitchens_improved(self._api, child_kitchen, parent_kitchen)
        self.assertTrue('Unresolved conflicts' in rc.get_message())
        self.assertTrue('conflicted-file.txt' in rc.get_message())

        rc = DKCloudCommandRunner.get_unresolved_conflicts(recipe, recipe_dir_child)
        self.assertTrue(rc.ok())
        self.assertTrue('Unresolved conflicts' in rc.get_message())

        rc = DKCloudCommandRunner.resolve_conflict(conflicted_file)
        self.assertTrue(rc.ok())
        self.assertTrue('Conflict resolved' in rc.get_message())

        rc = DKCloudCommandRunner.get_unresolved_conflicts(recipe, recipe_dir_child)
        self.assertTrue(rc.ok())
        self.assertTrue('No conflicts found' in rc.get_message())

        rc = DKCloudCommandRunner.merge_kitchens_improved(self._api, child_kitchen, parent_kitchen)
        self.assertTrue('Unresolved conflicts' not in rc.get_message())

        if cleanup:
            DKCloudCommandRunner.delete_kitchen(self._api, child_kitchen)
            DKCloudCommandRunner.delete_kitchen(self._api, parent_kitchen)
            shutil.rmtree(temp_dir_child, ignore_errors=True)
            shutil.rmtree(temp_dir_parent, ignore_errors=True)