コード例 #1
0
    def test_system_creator_form_empty(self):
        """ test minimum form requirements / INVALID """

        # get object
        form = SystemCreatorForm(data={})
        # compare
        self.assertFalse(form.is_valid())
コード例 #2
0
def system_creator_async(request_post, request_user):
    """ function to create many systems at once """

    # call logger
    debug_logger(str(request_user), " SYSTEM_CREATOR_BEGIN")

    # exctract lines from systemlist (list results from request object via large text area)
    lines = request_post.get('systemlist').splitlines()

    # iterate over lines
    for line in lines:

        # skip emtpy lines
        if line == '':
            warning_logger(str(request_user), " SYSTEM_CREATOR_ROW_EMPTY")
            continue

        # check line for length of string
        if len(line) > 50:
            warning_logger(str(request_user), " SYSTEM_CREATOR_LONG_STRING")
            continue

        # check for existence of system
        system = System.objects.filter(system_name = line)
        if system.count() > 0:
            # call logger
            error_logger(str(request_user), " SYSTEM_CREATOR_SYSTEM_EXISTS " + "system_name:" + line)
            # leave this loop because system with this systemname already exists
            continue

        # create form with request data
        form = SystemCreatorForm(request_post)

        # create system
        if form.is_valid():

            # don't save form yet
            system = form.save(commit=False)

            # set system_name
            system.system_name = line

            # set auto values
            system.system_created_by_user_id = request_user
            system.system_modified_by_user_id = request_user
            system.system_modify_time = timezone.now()

            # save object
            system.save()

            # save manytomany
            form.save_m2m()

            # call logger
            system.logger(str(request_user), ' SYSTEM_CREATOR_EXECUTED')

    # call logger
    debug_logger(str(request_user), " SYSTEM_CREATOR_END")
コード例 #3
0
    def test_system_creator_systemlist_form_filled(self):
        """ test minimum form requirements / INVALID """

        # get object
        form = SystemCreatorForm(data={
            'systemlist': 'system_1',
        })
        # compare
        self.assertFalse(form.is_valid())
コード例 #4
0
    def test_system_creator_systemstatus_form_filled(self):
        """ test minimum form requirements / VALID """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        form = SystemCreatorForm(data={
            'systemlist': 'system_1',
            'systemstatus': systemstatus_id,
        })
        # compare
        self.assertTrue(form.is_valid())
コード例 #5
0
    def test_system_creator_systemlist_multi_line(self):
        """ test for multiple line input """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1\nsystem_2\nsystem_3',
                'systemstatus': systemstatus_id,
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #6
0
    def test_system_creator_contact_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        contact_id = Contact.objects.get(contact_name='contact_1').contact_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'contact': contact_id,
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #7
0
    def test_system_creator_osarch_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        osarch_id = Osarch.objects.get(osarch_name='osarch_1').osarch_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'osarch': osarch_id,
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #8
0
    def test_system_creator_dnsname_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        dnsname_id = Dnsname.objects.get(dnsname_name='dnsname_1').dnsname_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'dnsname': dnsname_id,
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #9
0
    def test_system_creator_reason_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        reason_id = Reason.objects.get(reason_name='reason_1').reason_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'reason': reason_id,
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #10
0
    def test_system_case_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        case_1_id = Case.objects.get(case_name='case_1').case_id
        case_2_id = Case.objects.get(case_name='case_2').case_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'case': [case_1_id, case_2_id],
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #11
0
    def test_system_creator_tag_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        tag_1_id = Tag.objects.get(tag_name='tag_1').tag_id
        tag_2_id = Tag.objects.get(tag_name='tag_2').tag_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'tag': [tag_1_id, tag_2_id],
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #12
0
    def test_system_creator_serviceprovider_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        serviceprovider_id = Serviceprovider.objects.get(
            serviceprovider_name='serviceprovider_1').serviceprovider_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'serviceprovider': serviceprovider_id,
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #13
0
    def test_system_creator_analysisstatus_form_filled(self):
        """ test additional form content """

        # get object
        systemstatus_id = Systemstatus.objects.get(
            systemstatus_name='systemstatus_1').systemstatus_id
        # get object
        analysisstatus_id = Analysisstatus.objects.get(
            analysisstatus_name='analysisstatus_1').analysisstatus_id
        # get object
        form = SystemCreatorForm(
            data={
                'systemlist': 'system_1',
                'systemstatus': systemstatus_id,
                'analysisstatus': analysisstatus_id,
            })
        # compare
        self.assertTrue(form.is_valid())
コード例 #14
0
ファイル: system_creator.py プロジェクト: FabFaeb/dfirtrack
def system_creator_async(request_post, request_user):
    """ function to create many systems at once """

    # call logger
    debug_logger(str(request_user), ' SYSTEM_CREATOR_BEGIN')

    # exctract lines from systemlist (list results from request object via large text area)
    lines = request_post.get('systemlist').splitlines()

    #  count lines (needed for messages)
    number_of_lines = len(lines)

    # set systems_created_counter (needed for messages)
    systems_created_counter = 0

    # set systems_skipped_counter (needed for messages)
    systems_skipped_counter = 0

    # set lines_faulty_counter (needed for messages)
    lines_faulty_counter = 0

    # create empty list (needed for messages)
    skipped_systems = []

    # iterate over lines
    for line in lines:

        # skip emtpy lines
        if line == '':
            # autoincrement counter
            lines_faulty_counter += 1
            # call logger
            warning_logger(str(request_user), ' SYSTEM_CREATOR_ROW_EMPTY')
            continue

        # check line for length of string
        if len(line) > 50:
            # autoincrement counter
            lines_faulty_counter += 1
            # call logger
            warning_logger(str(request_user), ' SYSTEM_CREATOR_LONG_STRING')
            continue

        # check for existence of system
        system = System.objects.filter(system_name=line)
        """ already existing system """

        # in case of existing system
        if system.count() > 0:
            # autoincrement counter
            systems_skipped_counter += 1
            # add system name to list of skipped systems
            skipped_systems.append(line)
            # call logger
            error_logger(
                str(request_user),
                ' SYSTEM_CREATOR_SYSTEM_EXISTS ' + 'system_name:' + line)
            # leave this loop because system with this systemname already exists
            continue
        """ new system """

        # create form with request data
        form = SystemCreatorForm(request_post)

        # create system
        if form.is_valid():
            """ object creation """

            # don't save form yet
            system = form.save(commit=False)

            # set system_name
            system.system_name = line

            # set auto values
            system.system_created_by_user_id = request_user
            system.system_modified_by_user_id = request_user
            system.system_modify_time = timezone.now()

            # save object
            system.save()

            # save manytomany
            form.save_m2m()
            """ object counter / log """

            # autoincrement counter
            systems_created_counter += 1

            # call logger
            system.logger(str(request_user), ' SYSTEM_CREATOR_EXECUTED')
    """ call final messages """

    # finish message
    message_user(request_user, 'System creator finished', constants.SUCCESS)

    # number messages

    if systems_created_counter > 0:
        if systems_created_counter == 1:
            message_user(request_user,
                         str(systems_created_counter) + ' system was created.',
                         constants.SUCCESS)
        else:
            message_user(
                request_user,
                str(systems_created_counter) + ' systems were created.',
                constants.SUCCESS)

    if systems_skipped_counter > 0:
        if systems_skipped_counter == 1:
            message_user(
                request_user,
                str(systems_skipped_counter) + ' system was skipped. ' +
                str(skipped_systems), constants.ERROR)
        else:
            message_user(
                request_user,
                str(systems_skipped_counter) + ' systems were skipped. ' +
                str(skipped_systems), constants.ERROR)

    if lines_faulty_counter > 0:
        if lines_faulty_counter == 1:
            message_user(
                request_user,
                str(lines_faulty_counter) + ' line out of ' +
                str(number_of_lines) +
                ' lines was faulty (see log file for details).',
                constants.WARNING)
        else:
            message_user(
                request_user,
                str(lines_faulty_counter) + ' lines out of ' +
                str(number_of_lines) +
                ' lines were faulty (see log file for details).',
                constants.WARNING)

    # call logger
    info_logger(
        str(request_user),
        ' SYSTEM_CREATOR_STATUS ' + 'created:' + str(systems_created_counter) +
        '|' + 'skipped:' + str(systems_skipped_counter) + '|' +
        'faulty_lines:' + str(lines_faulty_counter))

    # call logger
    debug_logger(str(request_user), ' SYSTEM_CREATOR_END')
コード例 #15
0
def system_creator_async(request_post, request_user):
    """ function to create many systems at once """

    # call logger
    debug_logger(str(request_user), ' SYSTEM_CREATOR_START')

    # exctract lines from systemlist (list results from request object via large text area)
    lines = request_post.get('systemlist').splitlines()

    #  count lines (needed for messages)
    number_of_lines = len(lines)

    # set systems_created_counter (needed for messages)
    systems_created_counter = 0

    # set systems_skipped_counter (needed for messages)
    systems_skipped_counter = 0

    # set lines_faulty_counter (needed for messages)
    lines_faulty_counter = 0

    # create empty list (needed for messages)
    skipped_systems = []

    # iterate over lines
    for line in lines:

        # skip emtpy lines
        if line == '':
            # autoincrement counter
            lines_faulty_counter += 1
            # call logger
            warning_logger(str(request_user), ' SYSTEM_CREATOR_ROW_EMPTY')
            continue

        # check line for length of string
        if len(line) > 50:
            # autoincrement counter
            lines_faulty_counter += 1
            # call logger
            warning_logger(str(request_user), ' SYSTEM_CREATOR_LONG_STRING')
            continue

        # check for existence of system
        system = System.objects.filter(system_name = line)

        """ already existing system """

        # in case of existing system
        if system.count() > 0:
            # autoincrement counter
            systems_skipped_counter += 1
            # add system name to list of skipped systems
            skipped_systems.append(line)
            # call logger
            warning_logger(str(request_user), f' SYSTEM_CREATOR_SYSTEM_EXISTS system_name:{line}')
            # leave this loop because system with this systemname already exists
            continue

        """ new system """

        # create form with request data
        form = SystemCreatorForm(request_post)

        # create system
        if form.is_valid():

            """ object creation """

            # don't save form yet
            system = form.save(commit=False)

            # set system_name
            system.system_name = line

            # set auto values
            system.system_created_by_user_id = request_user
            system.system_modified_by_user_id = request_user
            system.system_modify_time = timezone.now()

            # save object
            system.save()

            # save manytomany
            form.save_m2m()

            """ object counter / log """

            # autoincrement counter
            systems_created_counter  += 1

            # call logger
            system.logger(str(request_user), ' SYSTEM_CREATOR_EXECUTED')

    """ finish system importer """

    # call final messages
    final_messages(systems_created_counter, systems_skipped_counter, lines_faulty_counter, skipped_systems, number_of_lines, request_user)

    # call logger
    info_logger(
        str(request_user),
        f' SYSTEM_CREATOR_STATUS'
        f' created:{systems_created_counter}'
        f'|skipped:{systems_skipped_counter}'
        f'|faulty_lines:{lines_faulty_counter}'
    )

    # call logger
    debug_logger(str(request_user), ' SYSTEM_CREATOR_END')