class UserGroupsClientTest(unittest.TestCase):
    def setUp(self):
        self.client = UserGroupsClient(os.environ.get('OKTA_TEST_URL'),
                                       os.environ.get('OKTA_TEST_KEY'))
        self.user_client = UsersClient(os.environ.get('OKTA_TEST_URL'),
                                       os.environ.get('OKTA_TEST_KEY'))

    def test_single_group(self):
        name = 'random_group_' + str(random.random())
        group = UserGroup(name=name, description='something interesting here')
        group = self.client.create_group(group)
        self.assertEqual(group.profile.name, name,
                         "The name for the group wasn't set properly")

    def test_add_user_to_group(self):
        # Create group
        name = 'random_group_' + str(random.random())
        group = UserGroup(name=name, description='something interesting here')
        group = self.client.create_group(group)

        # Create user
        user = User(login='******' + str(random.random()) + '@asdf.com',
                    email='*****@*****.**',
                    firstName='Joe',
                    lastName='Schmoe')
        user = self.user_client.create_user(user, activate=False)

        self.client.add_user_to_group(group, user)
class UserGroupsClientTest(unittest.TestCase):

    def setUp(self):
        self.client = UserGroupsClient(os.environ.get('OKTA_TEST_URL'), os.environ.get('OKTA_TEST_KEY'))
        self.user_client = UsersClient(os.environ.get('OKTA_TEST_URL'), os.environ.get('OKTA_TEST_KEY'))

    def test_single_group(self):
        name = 'random_group_' + str(random.random())
        group = UserGroup(name=name, description='something interesting here')
        group = self.client.create_group(group)
        self.assertEqual(group.profile.name, name, "The name for the group wasn't set properly")

    def test_add_user_to_group(self):
        # Create group
        name = 'random_group_' + str(random.random())
        group = UserGroup(name=name, description='something interesting here')
        group = self.client.create_group(group)

        # Create user
        user = User(login='******' + str(random.random()) + '@asdf.com',
                    email='*****@*****.**',
                    firstName='Joe',
                    lastName='Schmoe')
        user = self.user_client.create_user(user, activate=False)

        self.client.add_user_to_group(group, user)
예제 #3
0
class UserGroupsClientTest(unittest.TestCase):
    def setUp(self):
        self.client = UserGroupsClient("http://okta.mock.invalid",
                                       "mock-api-key")
        self.user_client = UsersClient("http://okta.mock.invalid",
                                       "mock-api-key")

    @requests_mock.Mocker()
    def test_single_group(self, m):
        name = 'random_group_' + str(random.random())
        m.register_uri("POST",
                       "http://okta.mock.invalid/api/v1/groups/",
                       json={
                           "id": "g0001mock",
                           "profile": {
                               "name": name,
                               "description": "something interesting here"
                           },
                       })
        group = UserGroup(name=name, description="something interesting here")
        group = self.client.create_group(group)
        self.assertEqual(group.profile.name, name,
                         "The name for the group wasn't set properly")

    @requests_mock.Mocker()
    def test_add_user_to_group(self, m):
        # Create group
        m.register_uri("POST",
                       "http://okta.mock.invalid/api/v1/groups/",
                       json={"id": "g0001mock"})
        name = 'random_group_' + str(random.random())
        group = UserGroup(name=name, description='something interesting here')
        group = self.client.create_group(group)

        # Create user
        m.register_uri(
            "POST",
            "http://okta.mock.invalid/api/v1/users/?activate=false",
            json={
                "id": "u0001mock",
                "status": "STAGED",
            },
        )
        user = User(login='******' + str(random.random()) + '@asdf.com',
                    email='*****@*****.**',
                    firstName='Joe',
                    lastName='Schmoe')
        user = self.user_client.create_user(user, activate=False)

        m.register_uri(
            "PUT",
            "http://okta.mock.invalid/api/v1/groups/g0001mock/users/u0001mock",
            json={})
        self.client.add_user_to_group(group, user)
예제 #4
0
def build_client(test_description):
    url = '{}:{}'.format(sdk_config['mockOkta']['proxy'],
                         sdk_config['mockOkta']['port'])
    return UserGroupsClient(
        base_url=url,
        api_token=sdk_config['mockOkta']['apiKey'],
        headers={
            'x-test-description': test_description
        }
    )
예제 #5
0
 def setUp(self):
     self.client = UserGroupsClient("http://okta.mock.invalid",
                                    "mock-api-key")
     self.user_client = UsersClient("http://okta.mock.invalid",
                                    "mock-api-key")
예제 #6
0
 def tests_client_initializer_kwargs(self):
     client = UserGroupsClient(base_url='https://example.okta.com', api_token='api_key')
예제 #7
0
 def tests_client_initializer_args(self):
     client = UserGroupsClient('https://example.okta.com', 'api_key')
예제 #8
0
app = Flask(__name__)
app.config["OIDC_CLIENT_SECRETS"] = "client_secrets.json"
app.config["OIDC_COOKIE_SECURE"] = False
app.config["OIDC_CALLBACK_ROUTE"] = "/authorization-code/callback"
app.config["OIDC_SCOPES"] = ["openid", "email", "profile"]
app.config["SECRET_KEY"] = "{{ LONG_RANDOM_STRING }}"
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
app.config['TEMPLATES_AUTO_RELOAD'] = True
okta_org_url = "{{ okta_org_url }}"
okta_auth_token = "{{ okta_auth_toke }}"

oidc = OpenIDConnect(app)
db = SQLAlchemy(app)
okta_user_client = UsersClient(okta_org_url, okta_auth_token)
okta_group_client = UserGroupsClient(okta_org_url, okta_auth_token)

user_groups = [
    {
        'okta': ['okta_add_app', 'okta_aws_console', 'another_test']
    },
    {
        'teams': ['onboard', 'add_channel']
    },
]


class RecentTasks(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    product = db.Column(db.String(50), nullable=False)
    task_details = db.Column(db.String(500), nullable=True)
 def setUp(self):
     self.client = UserGroupsClient(os.environ.get('OKTA_TEST_URL'),
                                    os.environ.get('OKTA_TEST_KEY'))
     self.user_client = UsersClient(os.environ.get('OKTA_TEST_URL'),
                                    os.environ.get('OKTA_TEST_KEY'))
예제 #10
0
from okta import UsersClient, UserGroupsClient
from dotenv import load_dotenv
import os

load_dotenv()
url = os.getenv('OKTA_ORG_URL')
token = os.getenv('OKTA_API_TOKEN')

usersClient = UsersClient(url, token)
groupsClient = UserGroupsClient(url, token)

user = usersClient.get_user('aaron')
groupId = '00g9raeyraaWXn1zF0h7'

groupsClient.add_user_to_group_by_id(groupId, user.id)
 def setUp(self):
     self.client = UserGroupsClient(os.environ.get('OKTA_TEST_URL'), os.environ.get('OKTA_TEST_KEY'))
     self.user_client = UsersClient(os.environ.get('OKTA_TEST_URL'), os.environ.get('OKTA_TEST_KEY'))