示例#1
0
    def test_00_create_upload(self):
        """Test creating an upload for each provider"""
        for p in list_providers(self.config["upload"]):
            print(p)
            upload = create_upload(self.config["upload"], p, "test-image", test_profiles[p][1])
            summary = upload.summary()
            self.assertEqual(summary["provider_name"], p)
            self.assertEqual(summary["image_name"], "test-image")
            self.assertTrue(summary["status"], "WAITING")

            self.upload_uuids.append(summary["uuid"])
        self.assertTrue(len(self.upload_uuids) > 0)
        self.assertTrue(len(self.upload_uuids), len(list_providers(self.config["upload"])))
示例#2
0
 def test_resolve_provider(self):
     for p in list_providers(self.config["upload"]):
         print(p)
         info = resolve_provider(self.config["upload"], p)
         self.assertTrue("display" in info)
         self.assertTrue("supported_types" in info)
         self.assertTrue("settings-info" in info)
示例#3
0
    def test_save_settings(self):
        """Test saving profiles"""
        for p in list_providers(self.config["upload"]):
            print(p)
            save_settings(self.config["upload"], p, test_profiles[p][0],
                          test_profiles[p][1])

            profile_dir = joinpaths(self.config.get("upload", "settings_dir"),
                                    p, test_profiles[p][0] + ".toml")
            self.assertTrue(os.path.exists(profile_dir))
示例#4
0
文件: v1.py 项目: sitedata/lorax
def v1_upload_providers():
    """Return the information about all upload providers, including their
    display names, expected settings, and saved profiles. Refer to the
    `resolve_provider` function.

    **GET /api/v1/upload/providers**

      Example response::

          {
            "providers": {
              "azure": {
                "display": "Azure",
                "profiles": {
                  "default": {
                    "client_id": "example",
                    ...
                  }
                },
                "settings-info": {
                  "client_id": {
                    "display": "Client ID",
                    "placeholder": "",
                    "regex": "",
                    "type": "string"
                  },
                  ...
                },
                "supported_types": ["vhd"]
              },
              ...
            }
          }
    """

    ucfg = api.config["COMPOSER_CFG"]["upload"]

    provider_names = list_providers(ucfg)

    def get_provider_info(provider_name):
        provider = resolve_provider(ucfg, provider_name)
        provider["profiles"] = load_profiles(ucfg, provider_name)
        return provider

    providers = {
        provider_name: get_provider_info(provider_name)
        for provider_name in provider_names
    }
    return jsonify(status=True, providers=providers)
示例#5
0
 def test_validate_settings(self):
     for p in list_providers(self.config["upload"]):
         print(p)
         validate_settings(self.config["upload"], p, test_profiles[p][1])
示例#6
0
 def test_resolve_playbook_path(self):
     for p in list_providers(self.config["upload"]):
         print(p)
         self.assertTrue(
             len(resolve_playbook_path(self.config["upload"], p)) > 0)
示例#7
0
 def test_list_providers(self):
     p = list_providers(self.config["upload"])
     self.assertEqual(p, ['aws', 'dummy', 'openstack', 'vsphere'])
示例#8
0
 def test_zz_load_settings(self):
     """Test loading settings"""
     for p in list_providers(self.config["upload"]):
         settings = load_settings(self.config["upload"], p,
                                  test_profiles[p][0])
         self.assertEqual(settings, test_profiles[p][1])
示例#9
0
 def test_zz_load_profiles(self):
     """Test loading profiles"""
     for p in list_providers(self.config["upload"]):
         print(p)
         profile = load_profiles(self.config["upload"], p)
         self.assertTrue(test_profiles[p][0] in profile)
示例#10
0
 def test_01_get_all_uploads(self):
     """Test listing all the uploads"""
     uploads = get_all_uploads(self.config["upload"])
     # Should be one upload per provider
     providers = sorted([u.provider_name for u in uploads])
     self.assertEqual(providers, list_providers(self.config["upload"]))