def join_realm_with_task(self): """Return the setup task for joining a realm.""" realm_task = RealmJoinTask(sysroot=conf.target.system_root, realm_data=self.realm) # connect to realm-data-changed signal, so that the realm data in the realm-join task is always up to date self.realm_changed.connect(lambda: realm_task.set_realm_data(self.realm)) return realm_task
def test_realm_join_not_discovered(self, execWithRedirect): """Test the realm join install task - no realm discovered.""" with tempfile.TemporaryDirectory() as sysroot: os.makedirs(os.path.join(sysroot, "usr/bin")) os.mknod(os.path.join(sysroot, "usr/bin/realm")) assert os.path.exists(os.path.join(sysroot, "usr/bin/realm")) realm_data = RealmData() realm_data.name = "foo-realm" realm_data.join_options = ["--bar", "baz"] realm_data.discovered = False task = RealmJoinTask(sysroot=sysroot, realm_data=realm_data) task.run() # check if the realm command invocation looks right execWithRedirect.assert_not_called()
def test_realm_join(self, execWithRedirect): """Test the realm join install task.""" with tempfile.TemporaryDirectory() as sysroot: os.makedirs(os.path.join(sysroot, "usr/bin")) os.mknod(os.path.join(sysroot, "usr/bin/realm")) assert os.path.exists(os.path.join(sysroot, "usr/bin/realm")) realm_data = RealmData() realm_data.name = "foo-realm" realm_data.join_options = ["--bar", "baz"] realm_data.discovered = True task = RealmJoinTask(sysroot=sysroot, realm_data=realm_data) task.run() # check if the realm command invocation looks right execWithRedirect.assert_called_once_with('realm', ['join', '--install', sysroot, '--verbose', '--no-password', '--bar', 'baz'])
def realm_join_one_time_password_test(self, execWithRedirect): """Test the realm join install task - one time password.""" with tempfile.TemporaryDirectory() as sysroot: os.makedirs(os.path.join(sysroot, "usr/bin")) os.mknod(os.path.join(sysroot, "usr/bin/realm")) self.assertTrue(os.path.exists(os.path.join(sysroot, "usr/bin/realm"))) realm_data = RealmData() realm_data.name = "foo-realm" realm_data.join_options=["--one-time-password", "abcdefgh"] realm_data.discovered = True task = RealmJoinTask(sysroot=sysroot, realm_data=realm_data) task.run() # check if the realm command invocation looks right execWithRedirect.assert_called_once_with('realm', ['join', '--install', sysroot, '--verbose', '--one-time-password', 'abcdefgh'])