Beispiel #1
0
    def upload(self, build_result, dry_run):
        repo_url = origen.config["pkg_server_push"]
        r = self.add_repo(self.repo_name, repo_url)
        if r.succeeded():
            origen.log.trace(
                f"Added poetry repository {self.repo_name} ({repo_url})")
        else:
            return BuildResult(succeeded=False,
                               message="Failed to add poetry repository")

        cmd = self.upload_cmd
        opts = self.upload_package_command_opts

        d = origen.current_user().dataset_for("pkg_server_push")
        if d is None:
            d = origen.current_user()

        opts["add_env"] = {
            self.username_env_var: d.username,
            self.password_env_var: d.password_for("pkg_server_push",
                                                  default=None),
        }
        if dry_run:
            self.upload_cmd.append("--dry-run")
        r = origen.utility.exec(cmd, **opts)
        if r.succeeded:
            m = f"Successfully pushed package to {repo_url}"
        else:
            m = f"Failed to push package to repository {repo_url}"
        return UploadResult(r.succeeded(), message=m)
Beispiel #2
0
def test_error_on_invalid_datasets_in_hierarchy(q, options):
    setenv(err_root)

    import origen
    q.put(
        ("data_lookup_hierarchy", origen.current_user().data_lookup_hierarchy))
    q.put(("datasets", list(origen.current_user().datasets.keys())))
Beispiel #3
0
 def boot_dict_under_test(self):
     if not getattr(self, "booted_up", False):
         origen.current_user().data_store["test"] = "zero"
         origen.current_user().data_store["test 1"] = "one"
         origen.current_user().data_store["test 2"] = "two"
         self.booted_up = True
     return origen.current_user().data_store
Beispiel #4
0
def test_multi_datasets_and_default_hierarchy(q, options):
    setenv(config_root, bypass_config_lookup=True)

    import origen
    q.put(("hierarchy", origen.current_user().data_lookup_hierarchy))
    q.put(("datasets", list(origen.current_user().datasets.keys())))
    origen.current_user().data_lookup_hierarchy = ["test_1st", "test_2nd"]
    q.put(("hierarchy_2", origen.current_user().data_lookup_hierarchy))
Beispiel #5
0
def test_error_on_tls_with_invalid_service_user(q, options):
    setenv(err_root, bypass_config_lookup=True)
    import origen
    origen.current_user().email = "*****@*****.**"

    q.put(("server", origen.mailer.server))
    q.put(("auth_method", origen.mailer.auth_method))
    try:
        q.put(("service_user", origen.mailer.service_user))
    except Exception as e:
        q.put(("service_user", e))

    try:
        q.put(("username", origen.mailer.username))
    except Exception as e:
        q.put(("username", e))

    try:
        q.put(("password", origen.mailer.password))
    except Exception as e:
        q.put(("password", e))

    try:
        q.put(("test", origen.mailer.test()))
    except Exception as e:
        q.put(("test", e))
Beispiel #6
0
def func__test_with_config(q, options):
    setenv(pathlib.Path(__file__).parent,
           config_name="func__test_with_config",
           bypass_config_lookup=True)

    import origen
    q.put(("datasets", list(origen.current_user().datasets.keys())))
Beispiel #7
0
 def test_user_session_aliases(self):
     assert origen.session_store.user_session(
     ) == _origen.utility.session_store.user_session()
     assert origen.current_user(
     ).session == _origen.utility.session_store.user_session()
     assert origen.session_store.user_session(
         origen.app) == _origen.utility.session_store.user_session(
             origen.app)
Beispiel #8
0
def test_in_new_origen_proc():
    import origen

    assert "test_in_new_origen_proc" not in origen.users.keys()
    out = in_new_origen_proc(func__test_users_are_reset)
    assert out["users"] == [getpass.getuser(), "test_in_new_origen_proc"]

    assert "test_in_new_origen_proc" not in origen.current_user().datasets
    out = in_new_origen_proc(func__test_with_config)
    assert out["datasets"] == ["test_in_new_origen_proc"]
Beispiel #9
0
 def test_updating_session_roots(self):
     ''' The user path will move around and is more dependent on the 
         `User` class than the session.
         Just make sure its loosly valid. We'll be changing it anyway so
         just ensure the change is observed.
     '''
     assert origen.session_store.app_root() == origen.app.root.joinpath(
         '.session')
     assert origen.session_store.user_root() == origen.current_user(
     ).home_dir.joinpath('.o2/.session')
     assert origen.session_store.user_root() != self.user_test_session_root
     self.update_roots()
     assert origen.session_store.app_root() == self.app_test_session_root
     assert origen.session_store.user_root() == self.user_test_session_root
Beispiel #10
0
def test_mailer_minimum(q, options):
    setenv(config_root, bypass_config_lookup=True)

    import origen
    origen.current_user().password = "******"
    origen.current_user().username = "******"
    origen.current_user().password = "******"
    origen.current_user().email = "*****@*****.**"
    q.put(("server", origen.mailer.server))
    q.put(("port", origen.mailer.port))
    q.put(("auth_method", origen.mailer.auth_method))
    q.put(("domain", origen.mailer.domain))
    q.put(("timeout", origen.mailer.timeout))
    q.put(("service_user", origen.mailer.service_user))
    try:
        q.put(("username", origen.mailer.username))
    except Exception as e:
        q.put(("username", e))
    try:
        q.put(("password", origen.mailer.password))
    except Exception as e:
        q.put(("password", e))
    q.put(("sender", origen.mailer.sender))
    q.put(("dataset", origen.mailer.dataset))
Beispiel #11
0
def test_default_dataset_and_hierarchy(q, options):
    setenv(config_root, bypass_config_lookup=True)

    import origen
    q.put(("hierarchy", origen.current_user().data_lookup_hierarchy))
    q.put(("datasets", list(origen.current_user().datasets.keys())))
    q.put(("first_name_unset", origen.current_user().first_name))
    q.put(("first_name_dataset_unset",
           origen.current_user().datasets["__origen__default__"].first_name))

    origen.current_user().first_name = "COREY"
    q.put(("first_name", origen.current_user().first_name))
    q.put(("first_name_dataset",
           origen.current_user().datasets["__origen__default__"].first_name))
Beispiel #12
0
def test_single_dataset_and_empty_hierarchy(q, options):
    setenv(config_root, bypass_config_lookup=True)

    import origen
    q.put(("hierarchy", origen.current_user().data_lookup_hierarchy))
    q.put(("datasets", list(origen.current_user().datasets.keys())))
    try:
        origen.current_user().first_name
    except Exception as e:
        q.put(("first_name_unset", e))
    q.put(("first_name_dataset_unset",
           origen.current_user().datasets["test"].first_name))

    origen.current_user().data_lookup_hierarchy = ["test"]
    q.put(("first_name_unset_2", origen.current_user().first_name))
Beispiel #13
0
def test_single_dataset_and_explicit_hierarchy(q, options):
    setenv(config_root, bypass_config_lookup=True)

    import origen
    q.put(("hierarchy", origen.current_user().data_lookup_hierarchy))
    q.put(("datasets", list(origen.current_user().datasets.keys())))
    q.put(("first_name_unset", origen.current_user().first_name))
    q.put(("first_name_dataset_unset",
           origen.current_user().datasets["test"].first_name))

    # Set the first name
    origen.current_user().first_name = "Corey2"
    q.put(("first_name", origen.current_user().first_name))
    q.put(("first_name_dataset",
           origen.current_user().datasets["test"].first_name))
Beispiel #14
0
def test_tls_dataset(q, options):
    setenv(config_root, bypass_config_lookup=True)

    import origen
    origen.current_user().datasets["for_mailer"].username = "******"
    origen.current_user().datasets["for_mailer"].password = "******"
    origen.current_user().datasets["for_mailer"].email = "*****@*****.**"
    origen.current_user(
    ).datasets["not_mailer"].email = "*****@*****.**"

    q.put(("server", origen.mailer.server))
    q.put(("auth_method", origen.mailer.auth_method))
    q.put(("service_user", origen.mailer.service_user))
    q.put(("username", origen.mailer.username))
    q.put(("password", origen.mailer.password))
    q.put(("sender", origen.mailer.sender))
    q.put(("dataset", origen.mailer.dataset))
    q.put(("for_mailer_dataset_email",
           origen.current_user().datasets["for_mailer"].email))
    q.put(("not_mailer_dataset_email",
           origen.current_user().datasets["not_mailer"].email))
    q.put(("hierarchy", origen.current_user().data_lookup_hierarchy))
Beispiel #15
0
def test_error_on_missing_server(q, options):
    setenv(err_root, bypass_config_lookup=True)
    import origen
    origen.current_user().email = "*****@*****.**"
    q.put(("mailer", origen.mailer))
    q.put(("app_mailer", origen.app.mailer))
Beispiel #16
0
 def test_current_user(self):
     user = origen.current_user()
     assert isinstance(user, _origen.users.User)
     assert user.id == self.current
Beispiel #17
0
def test_empty_datasets(q, options):
    setenv(config_root, bypass_config_lookup=True)
    import origen
    q.put(("hierarchy", origen.current_user().data_lookup_hierarchy))
    q.put(("datasets", list(origen.current_user().datasets.keys())))
Beispiel #18
0
def test_error_message_on_default_data_and_empty_hierarchy(q, options):
    setenv(err_root, bypass_config_lookup=True)
    import origen
    q.put(("hierarchy", origen.current_user().data_lookup_hierarchy))
    q.put(("datasets", list(origen.current_user().datasets.keys())))