コード例 #1
0
    def test_criar_etapa_faseada(self):
        gestor_controles.criar_processo('processo-1', 'descricao processo 1',
                                        'autor processo 1')
        gestor_controles.adicionar_host_controle([{
            'name': 'host-2',
            'hostid': '2'
        }])

        nome = 'etapa-1'
        descricao = 'descricao etapa 1'
        executor = 'executor etapa 1'
        processo = Processo.objects.first()

        objetos_afetados = Host.objects()
        atributo_incluido = AtributoIncluido(nome='groups',
                                             valor='grupo-1',
                                             id_atributo='1')
        gestor_controles.criar_etapa_faseada(
            processo=processo,
            nome=nome,
            descricao=descricao,
            executor=executor,
            objetos_afetados=objetos_afetados,
            atributo_modificado=atributo_incluido)

        processo_db = Processo.objects.first()
        self.assertEqual(1, processo_db.etapas.count())
        self.assertEqual('etapa-1', processo_db.etapas[0].nome)
        self.assertEqual('groups',
                         processo_db.etapas[0].atributo_modificado.nome)
        todos_objetos_afetados_etapa = processo_db.etapas.first(
        ).objetos_afetados
        self.assertEqual(1, len(todos_objetos_afetados_etapa))
コード例 #2
0
    def test_criar_processo_dois_processos_mesmo_nome(self):
        nome = 'processo-1'
        descricao = 'descricao processo 1'
        autor = 'autor processo 1'

        gestor_controles.criar_processo(nome, descricao, autor)

        with pytest.raises(NotUniqueError):
            gestor_controles.criar_processo(nome, descricao, autor)
コード例 #3
0
    def test_criar_processo(self):
        nome = 'processo-1'
        descricao = 'descricao processo 1'
        autor = 'autor processo 1'

        gestor_controles.criar_processo(nome, descricao, autor)

        processo = Processo.objects(nome='processo-1').first()
        self.assertEqual('descricao processo 1', processo.descricao)
        self.assertEqual('autor processo 1', processo.autor)
        self.assertGreater(datetime.datetime.now(), processo.data_inicio)
コード例 #4
0
    def test_adicionar_fase(self):
        gestor_controles.criar_processo('processo-1', 'descricao processo 1',
                                        'autor processo 1')
        gestor_controles.adicionar_host_controle([{
            'name': 'host-1',
            'hostid': '1'
        }])
        gestor_controles.adicionar_host_controle([{
            'name': 'host-2',
            'hostid': '2'
        }])

        nome = 'etapa-1'
        descricao = 'descricao etapa 1'
        executor = 'executor etapa 1'
        processo = Processo.objects.first()

        objetos_afetados = Host.objects(nome='host-1')
        objetos_afetados_etapa_2 = Host.objects(nome='host-2')

        gestor_controles.criar_etapa_faseada(processo=processo,
                                             nome=nome,
                                             descricao=descricao,
                                             executor=executor,
                                             objetos_afetados=objetos_afetados)

        processo = Processo.objects.first()
        etapa_faseada = processo.etapas.first()
        gestor_controles.adicionar_fase(processo, etapa_faseada, executor,
                                        objetos_afetados_etapa_2)

        processo_db = Processo.objects.first()
        self.assertEqual(1, processo_db.etapas.count())
        todos_objetos_afetados_etapa = processo_db.etapas.first(
        ).objetos_afetados
        self.assertEqual(2, len(todos_objetos_afetados_etapa))
コード例 #5
0
def novo_processo():
    form = NovoProcessoForm()
    if form.validate_on_submit():
        nome = form.nome.data
        descricao = form.descricao.data
        autor = form.email.data

        try:
            processo = criar_processo(nome=nome,
                                      descricao=descricao,
                                      autor=autor)
        except NotUniqueError:
            flash(u'Erro: já existe um processo com nome {}'.format(nome))
            return redirect(url_for('novo_processo'))

        flash(u'Processo {} criado com sucesso'.format(processo.nome))

        return redirect(url_for('novo_processo'))

    return render_template('novo_processo.html', form=form)