Ejemplo n.º 1
0
    def create_client(self):
        patcher = mocked_relations(User, Session)
        patcher.start()
        self.addCleanup(patcher.stop)

        user = User(pk=users.KIVE_USER_PK)
        User.objects.add(user)
        User.objects.model = User
        # noinspection PyUnresolvedReferences
        patcher = patch.object(User._meta, 'default_manager', User.objects)
        patcher.start()
        self.addCleanup(patcher.stop)
        dummy_session_key = 'dummysession'
        dummy_session = Session(session_key=dummy_session_key,
                                expire_date=now() + timedelta(days=1),
                                session_data=SessionStore().encode({
                                    SESSION_KEY:
                                    users.KIVE_USER_PK,
                                    HASH_SESSION_KEY:
                                    user.get_session_auth_hash(),
                                    BACKEND_SESSION_KEY:
                                    'django.contrib.auth.backends.ModelBackend'
                                }))
        Session.objects.add(dummy_session)
        client = Client()
        client.cookies[settings.SESSION_COOKIE_NAME] = dummy_session_key
        client.force_login(kive_user())
        return client
Ejemplo n.º 2
0
    def create_client(self):
        patcher = mocked_relations(User, Session)
        patcher.start()
        self.addCleanup(patcher.stop)

        user = User(pk=users.KIVE_USER_PK)
        User.objects.add(user)
        User.objects.model = User
        # noinspection PyUnresolvedReferences
        patcher = patch.object(User._meta, 'default_manager', User.objects)
        patcher.start()
        self.addCleanup(patcher.stop)
        dummy_session_key = 'dummysession'
        dummy_session = Session(
            session_key=dummy_session_key,
            expire_date=now() + timedelta(days=1),
            session_data=SessionStore().encode({
                SESSION_KEY: users.KIVE_USER_PK,
                HASH_SESSION_KEY: user.get_session_auth_hash(),
                BACKEND_SESSION_KEY: 'django.contrib.auth.backends.ModelBackend'}))
        Session.objects.add(dummy_session)
        client = Client()
        client.cookies[settings.SESSION_COOKIE_NAME] = dummy_session_key
        client.force_login(kive_user())
        return client
Ejemplo n.º 3
0
    def setUp(self):
        super(DockerImageViewMockTests, self).setUp()
        patcher = mocked_relations(KiveUser,
                                   DockerImage,
                                   User,
                                   Group)
        patcher.start()
        self.addCleanup(patcher.stop)

        self.client = self.create_client()
        self.dev_group = Group(pk=groups.DEVELOPERS_PK)
        self.everyone = Group(pk=groups.EVERYONE_PK)
        Group.objects.add(self.dev_group, self.everyone)
        self.user = kive_user()
        self.user.groups.add(self.dev_group)
        self.other_user = User(pk=5)

        self.docker_image = DockerImage(pk='99',
                                        name='git/joe/hello',
                                        tag='v1',
                                        git='http://server1.com/joe/hello.git',
                                        user=self.user)
        DockerImage.objects.add(self.docker_image)

        KiveUser.objects.add(KiveUser(pk=users.KIVE_USER_PK))
Ejemplo n.º 4
0
    def setUp(self):
        super(CodeResourceViewMockTests, self).setUp()
        patcher = mocked_relations(KiveUser,
                                   CodeResource,
                                   CodeResourceRevision,
                                   User,
                                   Group)
        patcher.start()
        self.addCleanup(patcher.stop)

        # noinspection PyUnresolvedReferences
        patchers = [patch.object(CodeResource._meta,
                                 'default_manager',
                                 CodeResource.objects),
                    patch.object(CodeResourceRevision._meta,
                                 'default_manager',
                                 CodeResource.objects)]

        def dummy_save(r):
            r.id = id(r)

        # noinspection PyUnresolvedReferences
        patchers.append(patch.object(CodeResource, 'save', dummy_save))
        patcher = PatcherChain(patchers)
        patcher.start()
        self.addCleanup(patcher.stop)

        self.client = self.create_client()
        self.dev_group = Group(pk=groups.DEVELOPERS_PK)
        self.everyone = Group(pk=groups.EVERYONE_PK)
        Group.objects.add(self.dev_group, self.everyone)
        self.user = kive_user()
        self.user.groups.add(self.dev_group)
        self.content_file = ContentFile('some text', 'existing.txt')
        self.code_resource = CodeResource(pk='99',
                                          user=self.user,
                                          name='existing',
                                          filename='existing.txt')
        self.code_resource._state.adding = False

        self.other_user = User(pk=5)
        self.other_code_resource = CodeResource(pk='150', user=self.other_user)
        CodeResource.objects.add(self.code_resource, self.other_code_resource)

        self.code_resource_revision = CodeResourceRevision(
            pk='199',
            user=self.user,
            content_file=self.content_file)
        self.code_resource_revision.coderesource = self.code_resource
        self.other_code_resource_revision = CodeResourceRevision(
            pk='200',
            user=self.other_user)
        self.other_code_resource_revision.coderesource = self.other_code_resource
        self.other_code_resource.revisions.add(self.other_code_resource_revision)
        CodeResourceRevision.objects.add(self.code_resource_revision,
                                         self.other_code_resource_revision)
        k = KiveUser(pk=users.KIVE_USER_PK)
        k.groups.add(self.dev_group)
        KiveUser.objects.add(k)
Ejemplo n.º 5
0
 def test_ajax_download(self):
     factory = APIRequestFactory()
     dataset_path = reverse('dataset-download', kwargs={'pk': 283134})
     view, _, _ = resolve(dataset_path)
     request = factory.get(dataset_path)
     force_authenticate(request, user=kive_user())
     response = view(request, pk=283134)
     content = response.content
     return content
Ejemplo n.º 6
0
 def test_ajax_download(self):
     factory = APIRequestFactory()
     dataset_path = reverse('dataset-download', kwargs={'pk': 283134})
     view, _, _ = resolve(dataset_path)
     request = factory.get(dataset_path)
     force_authenticate(request, user=kive_user())
     response = view(request, pk=283134)
     content = response.content
     return content
Ejemplo n.º 7
0
 def test_ajax(self):
     factory = APIRequestFactory()
     path = '/api/datasets/'
     view, _, _ = resolve(path)
     request = factory.get(
         path + '?is_granted=true&filters%5B0%5D%5Bkey%5D=uploaded'
                '&filters%5B1%5D%5Bkey%5D=cdt&filters%5B1%5D%5Bval%5D=31'
                '&page_size=8&page=1')
     force_authenticate(request, user=kive_user())
     response = view(request).render()
     data = response.render().data
     return data['count']
Ejemplo n.º 8
0
 def test_ajax(self):
     factory = APIRequestFactory()
     path = '/api/datasets/'
     view, _, _ = resolve(path)
     request = factory.get(
         path + '?is_granted=true&filters%5B0%5D%5Bkey%5D=uploaded'
         '&filters%5B1%5D%5Bkey%5D=cdt&filters%5B1%5D%5Bval%5D=31'
         '&page_size=8&page=1')
     force_authenticate(request, user=kive_user())
     response = view(request).render()
     data = response.render().data
     return data['count']
Ejemplo n.º 9
0
    def setUp(self):
        super(MethodViewMockTests, self).setUp()
        patcher = mocked_relations(KiveUser,
                                   MethodFamily,
                                   Method,
                                   CodeResource,
                                   CodeResourceRevision,
                                   CompoundDatatype,
                                   ContainerFamily,
                                   Container,
                                   Transformation,
                                   TransformationInput,
                                   TransformationOutput,
                                   User,
                                   Group)
        patcher.start()
        self.addCleanup(patcher.stop)

        # noinspection PyUnresolvedReferences
        patcher = patch.object(MethodFamily._meta,
                               'default_manager',
                               MethodFamily.objects)
        patcher.start()
        self.addCleanup(patcher.stop)

        self.client = self.create_client()
        self.dev_group = Group(pk=groups.DEVELOPERS_PK)
        self.everyone = Group(pk=groups.EVERYONE_PK)
        Group.objects.add(self.dev_group, self.everyone)
        self.user = kive_user()
        self.user.groups.add(self.dev_group)
        self.other_user = User(pk=5)

        self.method_family = MethodFamily(pk='99',
                                          user=self.user)
        MethodFamily.objects.add(self.method_family)

        self.driver = CodeResourceRevision(user=self.user)
        self.driver.pk = 1337  # needed for viewing a method
        self.driver.coderesource = CodeResource()
        self.method = Method(pk='199', user=self.user)
        self.method.driver = self.driver
        self.method.family = self.method_family
        Method.objects.add(self.method)
        KiveUser.objects.add(KiveUser(pk=users.KIVE_USER_PK))
Ejemplo n.º 10
0
prototype_CDT = CompoundDatatype.objects.get(pk=CDTs.PROTOTYPE_PK)

# A dummy Datatype with a prototype.
with tempfile.TemporaryFile() as f:
    f.write("""example,valid
True,True
true,False
y,False
n,False
False,False
false,false"""
    )
    f.seek(0)
    proto_SD = Dataset.create_dataset(
        file_path=None,
        user=kive_user(),
        cdt=CompoundDatatype.objects.get(pk=CDTs.PROTOTYPE_PK),
        name="AlwaysTruePrototype",
        description="Prototype for dummy Datatype",
        file_handle=f
    )

always_true = Datatype(
    user=kive_user(),
    name="Python True",
    description="True in python",
    proto_SD=proto_SD
)
always_true.save()
always_true.restricts.add(Datatype.objects.get(pk=datatypes.BOOL_PK))
Ejemplo n.º 11
0
 def __init__(self, user=None):
     self.user = user or kive_user()
     self.GET = {}
     self.META = {}
     self.method = 'GET'
Ejemplo n.º 12
0
 def setUp(self):
     self.factory = APIRequestFactory()
     self.kive_user = kive_user()
Ejemplo n.º 13
0
prototype_CDT = CompoundDatatype.objects.get(pk=CDTs.PROTOTYPE_PK)

# A dummy Datatype with a prototype.
with tempfile.TemporaryFile() as f:
    f.write("""example,valid
True,True
true,False
y,False
n,False
False,False
false,false""")
    f.seek(0)
    proto_SD = Dataset.create_dataset(
        file_path=None,
        user=kive_user(),
        cdt=CompoundDatatype.objects.get(pk=CDTs.PROTOTYPE_PK),
        name="AlwaysTruePrototype",
        description="Prototype for dummy Datatype",
        file_handle=f)

always_true = Datatype(user=kive_user(),
                       name="Python True",
                       description="True in python",
                       proto_SD=proto_SD)
always_true.save()
always_true.restricts.add(Datatype.objects.get(pk=datatypes.BOOL_PK))

always_true.basic_constraints.create(ruletype=BasicConstraint.REGEXP,
                                     rule="True")
Ejemplo n.º 14
0
 def setUp(self):
     self.factory = APIRequestFactory()
     self.kive_user = kive_user()
Ejemplo n.º 15
0
 def __init__(self, user=None):
     self.user = user or kive_user()
     self.GET = {}
     self.META = {}
     self.method = 'GET'