예제 #1
0
def create(request, format=None):
    print(request.data)
    ou = OrgUnit()
    if request.data != {}:
        if request.data['name'] != '':
            if request.data['domain_name'] != '':
                ou.name = request.data['name'] + ',' + request.data[
                    'domain_name']
            else:
                return Response(
                    "domain_name filed should not be empty {0}".format(
                        request.data),
                    status=status.HTTP_400_BAD_REQUEST)
        else:
            return Response("name field should not be empty {0}".format(
                request.data),
                            status=status.HTTP_400_BAD_REQUEST)
    else:
        return Response("Invalid ou {0}".format(request.data),
                        status=status.HTTP_400_BAD_REQUEST)
    ou.description = request.data['description']

    response = OUService(ConnectionService('exza')).create(
        ou=ou, request=request.data)

    return Response(response.description, response.status)
예제 #2
0
 def test_delete_repeated(self):
     data = {'name': 'Tested123'}
     ou = OrgUnit()
     ou.name = data['name']
     response = OUService(self.connection).delete(
         ou=ou, force_subtree_delete=False)
     self.assertEqual(response.status, 409)
예제 #3
0
 def test_valid_rename(self):
     data = {'name': 'ExzaTech'}
     old_name = 'Tested111'
     print(data)
     response = OUService(self.connection).rename(old_name=old_name,
                                                  request=data)
     print(response.description)
     self.assertEqual(response.status, 200)
예제 #4
0
 def test_same_name_create(self):
     data = {
         'name': 'Tested123',
         'description': 'testing ou',
         'domain_name': 'DC=exza,DC=com'
     }
     ou = OrgUnit()
     ou.name = data['name']
     ou.description = data['description']
     response = OUService(self.connection).create(ou=ou, request=data)
     self.assertEqual(response.status, 400)
예제 #5
0
def edit(request, name, format=None):
    response = OUService(ConnectionService('exza')).edit(name=name)

    if response.data is None:
        return Response(response.description, response.status)
    ous = []
    for msg in response.data:
        ou = OrgUnit()
        ou.name = msg.get('name')
        ou.description = msg.get('description')
        ous.append(ou)
    serializer = OrgUnitSerializer(ous, many=True)
    return Response(serializer.data)
예제 #6
0
def list(request, format=None):
    response = OUService(ConnectionService('exza')).list()
    ous = []
    if response.data is None:
        print(response.description)
        return Response(response.description, status=response.status)

    for msg in response.data:
        print(msg)
        ou = OrgUnitReport()
        ou.ou_name = msg.get('name')
        ou.description = msg.get('description')
        ou.domain_name = msg.get('dn')
        ou.distinguished_name = msg.get('distinguishedName')
        ou.when_changed = msg.get('whenChanged')
        ou.when_Created = msg.get('whenCreated')
        # ou.object_guid = msg.get('objectGUID')
        ou.managed_by = msg.get('managedBy')
        ous.append(ou)

    serializer = OrgUnitReportSerializer(ous, many=True)
    return Response(serializer.data, status=status.HTTP_200_OK)
예제 #7
0
def rename(request, old_name, format=None):
    response = OUService(ConnectionService('exza')).rename(
        old_name=old_name, request=request.data)
    return Response(response.description, response.status)
예제 #8
0
def delete(request, name, format=None):
    ou = OrgUnit()
    ou.name = name
    response = OUService(ConnectionService('exza')).delete(
        ou=ou, force_subtree_delete=False)
    return Response(response.description, response.status)
예제 #9
0
 def test_same_name_rename(self):
     data = {'name': 'Tested123'}
     old_name = 'Tested123'
     response = OUService(self.connection).rename(old_name=old_name,
                                                  request=data)
     self.assertEqual(response.status, 409)
예제 #10
0
 def test_empty_old_name_rename(self):
     data = {'name': 'Testing1234'}
     old_name = ''
     response = OUService(self.connection).rename(old_name=old_name,
                                                  request=data)
     self.assertEqual(response.status, 400)
예제 #11
0
 def test_invalid_rename(self):
     data = {'name': 'Testing12345'}
     old_name = 'Tested'
     response = OUService(self.connection).rename(old_name=old_name,
                                                  request=data)
     self.assertEqual(response.status, 404)
예제 #12
0
 def test_edit(self):
     name = 'Tested111'
     response = OUService(self.connection).edit(name=name)
     self.assertEqual(response.status, 200)
예제 #13
0
 def test_edit_conflict(self):
     name = 'Tested123'
     response = OUService(self.connection).edit(name=name)
     self.assertEqual(response.status, 409)
예제 #14
0
 def test_edit_repeated(self):
     data = {'name': 'Tested123'}
     ou = OrgUnit()
     ou.name = data['name']
     response = OUService(self.connection).edit(name=ou.name)
     self.assertEqual(response.status, 409)
예제 #15
0
 def test_edit_wrong(self):
     data = {'name': '111'}
     ou = OrgUnit()
     ou.name = data['name']
     response = OUService(self.connection).edit(name=ou.name)
     self.assertEqual(response.status, 404)
예제 #16
0
 def test_list(self):
     res = OUService(self.connection).list()
     self.assertEqual(res.status, 200)