コード例 #1
0
def create_demo():
    """
    Create a new demo resource.

    :param {
        "name": "Example Demo Name",
        "email": "*****@*****.**"
    }

    :return: {
        "id": "123",
        "name": "Example Demo Name",
        "guid": "JDJhJDEdTRUR...VBrbW9vcj3k4L2sy",
        "createdAt": "2015-11-05T22:00:51.692765",
        "users": [{User}...{User}]
    }

    """

    # Get inputs and make sure required params are not null
    data = web_utils.get_json_data(request)
    demo_name = data.get('name')
    user_email = data.get('email')
    web_utils.check_null_input((demo_name, 'demo name for the new demo session'))

    demo = demo_service.create_demo(demo_name, user_email)
    return Response(demo,
                    status=201,
                    mimetype='application/json')
コード例 #2
0
    def test_demo_create_success(self):
        """With correct values, is a valid demo returned?"""

        # Create demo
        demo_name = datetime.now().isoformat("T")
        demo = demo_service.create_demo(demo_name)

        # TODO: Update to use assertIsInstance(a,b)
        # Check all expected object values are present
        demo_json = loads(demo)
        self.assertTrue(demo_json.get('id'))
        self.assertTrue(demo_json.get('guid'))
        self.assertTrue(demo_json.get('name') == demo_name)
        self.assertTrue(demo_json.get('createdAt'))
        self.assertTrue(demo_json.get('users'))

        # Check that the default supplychainmanager user was created
        created_user_json = demo_json.get('users')[0]
        self.assertTrue(created_user_json.get('id'))
        self.assertTrue(created_user_json.get('demoId'))
        self.assertTrue(created_user_json.get('username'))
        self.assertTrue(created_user_json.get('email'))
        self.assertTrue(created_user_json.get('roles'))

        # Check that the proper role was created
        scm_role_json = created_user_json.get('roles')[0]
        self.assertTrue(scm_role_json.get('id'))
        self.assertTrue(scm_role_json.get('name') == "supplychainmanager")
        self.assertTrue(scm_role_json.get('created'))
        self.assertTrue(scm_role_json.get('modified'))

        # Destroy demo
        demo_service.delete_demo_by_guid(demo_json.get('guid'))
コード例 #3
0
    def test_demo_create_success(self):
        """With correct values, is a valid demo returned?"""

        # Create demo
        demo = demo_service.create_demo()

        # TODO: Update to use assertIsInstance(a,b)
        # Check all expected object values are present
        demo_json = loads(demo)
        self.assertTrue(demo_json.get('id'))
        self.assertTrue(demo_json.get('guid'))
        self.assertTrue(demo_json.get('createdAt'))
        self.assertTrue(demo_json.get('users'))

        # Check that the default supplychainmanager user was created
        created_user_json = demo_json.get('users')[0]
        self.assertTrue(created_user_json.get('id'))
        self.assertTrue(created_user_json.get('demoId'))
        self.assertTrue(created_user_json.get('username'))
        self.assertTrue(created_user_json.get('email'))
        self.assertTrue(created_user_json.get('roles'))

        # Check that the proper role was created
        scm_role_json = created_user_json.get('roles')[0]
        self.assertTrue(scm_role_json.get('id'))
        self.assertTrue(scm_role_json.get('name') == "supplychainmanager")
        self.assertTrue(scm_role_json.get('created'))
        self.assertTrue(scm_role_json.get('modified'))

        # Destroy demo
        demo_service.delete_demo_by_guid(demo_json.get('guid'))
コード例 #4
0
ファイル: demos.py プロジェクト: jasmsing/logistics-wizard
def create_demo():
    """
    Create a new demo resource.

    :param {
        "name": "Example Demo Name",
        "email": "*****@*****.**"
    }

    :return: {
        "id": "123",
        "name": "Example Demo Name",
        "guid": "JDJhJDEdTRUR...VBrbW9vcj3k4L2sy",
        "createdAt": "2015-11-05T22:00:51.692765",
        "users": [{User}...{User}]
    }

    """

    # Get inputs and make sure required params are not null
    data = web_utils.get_json_data(request)
    demo_name = data.get('name')
    user_email = data.get('email')
    web_utils.check_null_input(
        (demo_name, 'demo name for the new demo session'))

    demo = demo_service.create_demo(demo_name, user_email)
    return Response(demo, status=201, mimetype='application/json')
コード例 #5
0
    def test_tokenize_and_detokenize(self):
        """Is auth data correctly tokenized and later detokenized?"""

        # Create demo
        demo = demo_service.create_demo()
        demo_json = loads(demo)
        demo_guid = demo_json.get('guid')
        demo_user_id = demo_json.get('users')[0].get('id')

        # Log in user and tokenize auth data
        auth_data = user_service.login(demo_guid, demo_user_id)
        auth_data['exp'] = datetime.utcnow() + timedelta(days=14)
        token = web_utils.tokenize(auth_data)

        # Detokenize auth data
        decrypted_auth_data = web_utils.detokenize(token)

        # Check that decrypted data is equivalent to auth data
        self.assertTrue(
            auth_data.get('loopback_token') == decrypted_auth_data.get(
                'loopback_token'))
        self.assertTrue(auth_data.get('exp') == decrypted_auth_data.get('exp'))
        self.assertTrue(
            auth_data.get('user').get('id') == decrypted_auth_data.get(
                'user').get('id'))
        self.assertTrue(
            auth_data.get('guid') == decrypted_auth_data.get('guid'))

        # Destroy demo
        demo_service.delete_demo_by_guid(demo_guid)
    def setUp(self):
        # Create demo
        self.demo = demo_service.create_demo()
        demo_json = loads(self.demo)
        demo_guid = demo_json.get('guid')
        demo_user_id = demo_json.get('users')[0].get('id')

        # Log in user
        auth_data = user_service.login(demo_guid, demo_user_id)
        self.loopback_token = auth_data.get('loopback_token')
コード例 #7
0
def create_demo():
    """
    Create a new demo resource.

    :return: {
        "id": "123",
        "guid": "JDJhJDEdTRUR...VBrbW9vcj3k4L2sy",
        "createdAt": "2015-11-05T22:00:51.692765",
        "users": [{User}...{User}]
    }

    """

    demo = demo_service.create_demo()
    return Response(demo, status=201, mimetype='application/json')
コード例 #8
0
    def test_demo_create_email(self):
        """Is an invalid email detected correctly?"""

        # Test invalid email throws ValidationException
        demo_name = datetime.now().isoformat("T")
        invalid_email = "email@[email protected]"
        self.assertRaises(UnprocessableEntityException,
                          demo_service.create_demo, demo_name, invalid_email)

        # Test valid email completes
        demo_name = datetime.now().isoformat("T")
        valid_email = "*****@*****.**"
        demo = demo_service.create_demo(demo_name, valid_email)
        self.assertTrue(loads(demo).get('id'))

        # Destroy demo
        demo_service.delete_demo_by_guid(loads(demo).get('guid'))
コード例 #9
0
    def test_demo_create_email(self):
        """Is an invalid email detected correctly?"""

        # Test invalid email throws ValidationException
        demo_name = datetime.now().isoformat("T")
        invalid_email = "email@[email protected]"
        self.assertRaises(UnprocessableEntityException,
                          demo_service.create_demo,
                          demo_name, invalid_email)

        # Test valid email completes
        demo_name = datetime.now().isoformat("T")
        valid_email = "*****@*****.**"
        demo = demo_service.create_demo(demo_name, valid_email)
        self.assertTrue(loads(demo).get('id'))

        # Destroy demo
        demo_service.delete_demo_by_guid(loads(demo).get('guid'))
コード例 #10
0
 def setUp(self):
     # Create demo
     self.demo = demo_service.create_demo()
コード例 #11
0
def create_demo():
    """Creates a demo object for a unit test class"""
    return demo_service.create_demo(datetime.now().isoformat("T"))
コード例 #12
0
def create_demo():
    """Creates a demo object for a unit test class"""
    return demo_service.create_demo(datetime.now().isoformat("T"))
コード例 #13
0
 def setUp(self):
     # Create demo
     self.demo = demo_service.create_demo()
     self.retailers = demo_service.get_demo_retailers(
         loads(self.demo).get('guid'))