def teste_inserir_documento_valido(self): string_json = '{"projeto": "teste_inserir"}' retorno = Op.inserir_json(self.colecao, string_json) self.assertTrue(retorno) valor_obtido = Op.buscar_json(self.colecao, string_json).count() self.assertEqual(valor_obtido, 1) Op.excluir_json(self.colecao, string_json)
def teste_alterar_documento_valido(self): string_json_inserir = '{"projeto": "teste_altera"}' Op.inserir_json(self.colecao, string_json_inserir) string_json_alterar = '{"projeto": "teste_alterado"}' retorno = Op.alterar_json(self.colecao, string_json_inserir, string_json_alterar) self.assertTrue(retorno) Op.excluir_json(self.colecao, string_json_alterar)
def teste_a_nao_abrir_uma_nova_mudanca_para_um_pipeline_ja_iniciado(self): string_busca = '{ "projeto": "' + "teste_unitario" + '"}' string_nova = '{"revision_deploy_prd":"' + "99" + '", "status_deploy_prd":"' + "I" + '"}' operacoes = Operacoes() operacoes.alterar_json(self.colecao, string_busca, string_nova) valor_esperado = self.info_artefato.obter_numero_mudanca() valor_obtido = self.mudanca_automatica.criar_mudanca_automatica() self.assertEqual(valor_esperado, valor_obtido)
def teste_b_nao_abrir_mudanca_quando_revision_do_gocd_for_igual_a_revision_do_mongo( self): string_busca = '{ "projeto": "' + "teste_unitario" + '"}' string_nova = '{"revision_deploy_prd":"' + "96644" + '", "status_deploy_prd":"' + "F" + '"}' operacoes = Operacoes() operacoes.alterar_json(self.colecao, string_busca, string_nova) valor_esperado = self.info_artefato.obter_numero_mudanca() valor_obtido = self.mudanca_automatica.criar_mudanca_automatica() self.assertEqual(valor_esperado, valor_obtido)
def __busca_projeto(self): string_busca = '{"projeto":"' + self.nome_projeto + '"}' documentos_encontrados = Operacoes.buscar_json(self.colecao, string_busca) if documentos_encontrados.count() == 0: Log.imprime("A BUSCA NAO RETORNOU NENHUM DOCUMENTO REFERENTE AO PROJETO.\nNOME DE PROJETO INFORMADO: " + self.nome_projeto + "INSERINDO PROJETO NO MONGO", classe=InformacoesArtefatos) Operacoes.inserir_json(self.colecao, string_busca) self.__conexao.fechar_conexao() return documentos_encontrados[0]
def alterar(self, revision_deploy_stg=None, revision_deploy_prd=None, data_deploy_stg=None, data_deploy_prd=None, cobertura_testes_unitarios=None, dependencias=list(), load_balance_backend=None, quantidade_issues_total=None, numero_mudanca=None, quantidade_testes_unitarios=None, quantidade_smoke_tests=None, quantidade_testes_regressivos=None, status_deploy_prd=None): string_busca = '{"projeto":"' + self.nome_projeto + '"}' # Montagem da string de alteracao string_alteracao = '{' if revision_deploy_stg: string_alteracao += '"revision_deploy_stg":"' + revision_deploy_stg + '",' if revision_deploy_prd: string_alteracao += '"revision_deploy_prd":"' + revision_deploy_prd + '",' if data_deploy_stg: string_alteracao += '"data_deploy_stg":"' + data_deploy_stg + '",' if data_deploy_prd: string_alteracao += '"data_deploy_prd":"' + data_deploy_prd + '",' if status_deploy_prd: string_alteracao += '"status_deploy_prd":"' + status_deploy_prd + '",' if cobertura_testes_unitarios: string_alteracao += '"cobertura_testes_unitarios":"' + str(cobertura_testes_unitarios) + '",' if dependencias: string_alteracao += '"quantidade_issues_findbugs":[' for dependencia in dependencias: dados_dependencia = dependencia.split(":") dependencia_nome = dados_dependencia[0] quantidade_issues_dependencia = dados_dependencia[1] string_alteracao += '{"dependencia":"' + dependencia_nome + '",' string_alteracao += '"quantidade_issues":"' + str(quantidade_issues_dependencia) + '"},' string_alteracao += '],' if quantidade_issues_total: string_alteracao += '"quantidade_issues_total_aplicacao":"' + str(quantidade_issues_total) + '",' if numero_mudanca: string_alteracao += '"numero_mudanca":"' + numero_mudanca + '",' if quantidade_testes_unitarios: string_alteracao += '"quantidade_testes_unitarios":"' + str(quantidade_testes_unitarios) + '",' if load_balance_backend: string_alteracao += '"load_balance_backend":"' + load_balance_backend + '",' if quantidade_smoke_tests: string_alteracao += '"quantidade_smoke_tests":"' + str(quantidade_smoke_tests) + '",' if quantidade_testes_regressivos: string_alteracao += '"quantidade_testes_regressivos":"' + str(quantidade_testes_regressivos) + '",' string_alteracao += '}' string_alteracao = string_alteracao.replace(',}', '}').replace(',]', ']') if string_alteracao == '{}': Log.imprime("NENHUMA ALTERACAO FOI FEITA.", classe=InformacoesArtefatos) else: self.__conexao = Conexao(USUARIO_GO_API, SENHA_GO_API, "qa_informacoes_entrega_continua", self.equipe) Operacoes.alterar_json(self.colecao, string_busca, string_alteracao) self.__conexao.fechar_conexao()
def teste_c_abrir_mudanca_quando_revision_do_GoCd_for_diferente_que_no_Mongo( self, mock): # https://www.toptal.com/python/an-introduction-to-mocking-in-python string_busca = '{ "projeto": "' + "teste_unitario" + '"}' string_nova = '{"revision_deploy_prd":"' + "99" + '", "status_deploy_prd":"' + "F" + '"}' operacoes = Operacoes() operacoes.alterar_json(self.colecao, string_busca, string_nova) # valor_esperado = self.info_artefato.obter_numero_mudanca() valor_obtido = self.mudanca_automatica.criar_mudanca_automatica() mock.assert_called() self.assertIsNotNone(valor_obtido)
def teste_alterar_json_nova_vazia(self): string_json_inserir = '{"projeto": "teste_altera"}' Op.inserir_json(self.colecao, string_json_inserir) string_nova_json = '{}' with self.assertRaises(SystemExit) as ex: Op.alterar_json(self.colecao, string_json_inserir, string_nova_json) self.assertEqual(ex.exception.code, 5) Op.excluir_json(self.colecao, string_json_inserir)
def setUpClass(cls): environ["CCTI_CLASS"] = "SUPORTE A HARDWARE" environ["CCTI_CATEGORY"] = "Switchs / Roteadores" environ["CCTI_TYPE"] = "Mudança" environ["CCTI_ITEM"] = "Hardware" environ["ID_FILA_EQUIPE"] = "50" cls.info_artefato = InformacoesArtefatos(cls.NOME_EQUIPE, cls.NOME_PROJETO) cls.mudanca_automatica = CriarMudancaAutomatica( cls.NOME_EQUIPE, cls.NOME_PROJETO) cls.mongo = Operacoes() conexao = Conexao(USUARIO_GO_API, SENHA_GO_API, "qa_informacoes_entrega_continua", cls.NOME_EQUIPE) cls.colecao = conexao.obter_colecao()
def teste_buscar_documento_inexistente(self): string_json = '{"projeto": "projetoFalso"}' valor_obtido = Op.buscar_json(self.colecao, string_json).count() self.assertEqual(valor_obtido, 0)
def teste_alterar_json_busca_vazia(self): string_json = '{}' string_nova = '{"projeto" : "teste_alterado}' with self.assertRaises(SystemExit) as ex: Op.alterar_json(self.colecao, string_json, string_nova) self.assertEqual(ex.exception.code, 4)
def teste_inserir_documento_sem_fornecer_a_colecao(self): string_json = '{"projeto": "teste_inserir"}' with self.assertRaises(SystemExit) as ex: Op.buscar_json(None, string_json) self.assertEqual(ex.exception.code, 1)
def teste_excluir_documento_inexistente(self): string_json = '{"projeto": "projetoFalso"}' retorno = Op.excluir_json(self.colecao, string_json) self.assertFalse(retorno)
def teste_inserir_json_vazio(self): string_json = '{}' with self.assertRaises(SystemExit) as ex: Op.inserir_json(self.colecao, string_json) self.assertEqual(ex.exception.code, 3)
def teste_alterar_documento_inexistente(self): string_json = '{"projeto": "teste_altera"}' string_nova_json = '{"projeto": "teste_alterado"}' retorno = Op.alterar_json(self.colecao, string_json, string_nova_json) self.assertFalse(retorno)
def teste_buscar_documento_existente(self): string_json = '{"projeto": "teste_busca"}' valor_obtido = Op.buscar_json(self.colecao, string_json)[0] valor_esperado = "teste_busca" self.assertEqual(valor_obtido.get("projeto"), valor_esperado)
def teste_buscar_com_json_vazio(self): string_json = '{}' with self.assertRaises(SystemExit) as ex: Op.buscar_json(self.colecao, string_json).count() self.assertEqual(ex.exception.code, 3)
def teste_buscar_com_string_vazia(self): string_json = '' with self.assertRaises(SystemExit) as ex: Op.buscar_json(self.colecao, string_json) self.assertEqual(ex.exception.code, 2)