public void CriandoCenariodeAcessoAnonimo() { ColecaoPersistencia colecao = new ColecaoPersistencia(); // INÍCIO: A exclusão do ambiente irá efetuar o processo de limpeza automática dos registros associados (cascata) SuperGrupo objSuperGrupo = new SuperGrupo(); objSuperGrupo.Titulo = "Administrativo (Homologação)"; objSuperGrupo.Habilitado = Valor.Ativo; objSuperGrupo.Ambiente = this.AmbienteEnvolvido; AcessoController.Manter(objSuperGrupo, "usuario.teste", colecao); Grupo objGrupo = new Grupo(); objGrupo.Titulo = "Segurança (Homologação)"; objGrupo.Habilitado = Valor.Ativo; objGrupo.SuperGrupo = objSuperGrupo; AcessoController.Manter(objGrupo, "usuario.teste", colecao); Funcionalidade objFuncionalidade = new Funcionalidade(); objFuncionalidade.Titulo = "Manutenção de Usuários (Homologação)"; objFuncionalidade.Habilitado = Valor.Ativo; objFuncionalidade.Grupo = objGrupo; AcessoController.Manter(objFuncionalidade, "usuario.teste", colecao); // FIM: A exclusão do ambiente irá efetuar o processo de limpeza automática dos registros associados (cascata) colecao.Persistir(); Assert.IsTrue(Checar.MaiorQue(this.AmbienteEnvolvido.ID)); }
public void ValidandoAcessoaUmaHomePage() { ColecaoPersistencia colecao = new ColecaoPersistencia(); this.Usuario.Tipo = EnumAutenticacao.TipodeUsuario.Usuario; this.Usuario.Login = "******"; this.Usuario.Senha = "bnkGt/s/jhxjZsCRAFDllQ=="; // testes UsuarioController.Manter(this.Usuario, colecao); this.Ambiente.Titulo = "Portal (Homologação)"; this.Ambiente.Habilitado = Valor.Ativo; this.Ambiente.Restrito = Valor.Ativo; AcessoController.Manter(this.Ambiente, "usuario.testes", colecao); colecao.Persistir(); this.Mapeamento.Tipo = EnumAcesso.TipodeAcesso.Ambiente; this.Mapeamento.IdAcesso = this.Ambiente.ID; this.Mapeamento.UrlMapID = PAGINA_ID; this.Mapeamento.Principal = Valor.Ativo; AcessoController.Manter(this.Mapeamento, "usuario.testes", null); bool isHomePage = HomePageFacade.IsTrue(PAGINA_ID); Assert.IsTrue(isHomePage, "Não foi possível localizar a associação com o cenário HOME."); try { UsuarioCorrenteFacade.Desconectar(); } catch { /* Prevenção */ } }
public void ValidandoAutenticacaoePermissoes() { // VALIDAÇÃO INICIAL: NEGAR TODAS this.Funcionalidade.Habilitado = Valor.Inativo; AcessoController.Manter(this.Funcionalidade, "usuario.testes", null); Assert.IsFalse(this.ValidarControledeAcessoStub(), "A funcionalidade está habilitada para uso quando não deveria estar."); Assert.IsFalse(this.ValidarAutenticacaoStub(), "O usuário está autenticado quando não deveria estar."); Assert.IsFalse(this.ValidarPermissoesStub(), "O usuário possui permissão de acesso quando não deveria possuir."); // APESAR DE AUTENTICADO É NECESSÁRIO INFORMAR O ENVIRONMENT ENVOLVIDO UsuarioCorrenteFacade.Autenticar("usuario.teste", "testes"); Assert.IsFalse(this.ValidarAutenticacaoStub(), "O Environment foi informado quando não deveria está preenchido."); Assert.IsFalse(this.ValidarPermissoesStub(), "O Environment foi informado quando não deveria está preenchido."); UsuarioCorrenteFacade.Environment = this.Ambiente.GUID; // UMA VEZ AUTENTICADO, SETADO O ENVIRONMENT E DEFINIDO A FUNCIONALIDADE ENVOLVIDA COMO ATIVA DEVE APROVAR DUAS DAS TRÊS CHECAGENS, // MAS DEVE NEGAR A CHECAGEM DE PERMISSÃO, POIS A MESMA AINDA NÃO FOI GERADA this.Funcionalidade.Habilitado = Valor.Ativo; AcessoController.Manter(this.Funcionalidade, "usuario.testes", null); Assert.IsTrue(this.ValidarControledeAcessoStub(), "A funcionalidade não está habilitada para uso quando deveria estar."); Assert.IsTrue(this.ValidarAutenticacaoStub(), "O usuário não está autenticado no sistema."); Assert.IsFalse(this.ValidarPermissoesStub(), "O usuário não deveria possui permissão de acesso a PÁGINA MAPEADA."); // COM A PERMISSÃO GERADA, A ÚLTIMA VALIDAÇÃO TAMBÉM DEVE SER APROVADA this.Permissao.Usuario = this.Usuario; this.Permissao.GUID = this.Funcionalidade.GUID; PermissaoController.Manter(this.Permissao, "usuario.teste", null); Assert.IsTrue(this.ValidarPermissoesStub(), "O usuário deveria possui permissão de acesso a PÁGINA MAPEADA."); }
public void PermitirMultiplosItensMapeadosQuandoFuncionalidade() { ColecaoPersistencia colecao = new ColecaoPersistencia(); AcessoMap objFuncionalidadeMAP = new AcessoMap(); objFuncionalidadeMAP.Tipo = EnumAcesso.TipodeAcesso.Funcionalidade; objFuncionalidadeMAP.IdAcesso = Valor.Um; // DEFAULT (ID SuperGrupo ou Grupo) objFuncionalidadeMAP.UrlMapID = Valor.Um; objFuncionalidadeMAP.Principal = Valor.Ativo; AcessoController.Manter(objFuncionalidadeMAP, "usuario.teste", colecao); AcessoMap objFuncionalidadeMAP_2 = new AcessoMap(); objFuncionalidadeMAP_2.Tipo = EnumAcesso.TipodeAcesso.Funcionalidade; objFuncionalidadeMAP_2.IdAcesso = Valor.Um; // DEFAULT (ID SuperGrupo ou Grupo) objFuncionalidadeMAP_2.UrlMapID = Valor.Dois; objFuncionalidadeMAP_2.Principal = Valor.Inativo; AcessoController.Manter(objFuncionalidadeMAP_2, "usuario.teste", colecao); AcessoController.Excluir(objFuncionalidadeMAP, colecao); AcessoController.Excluir(objFuncionalidadeMAP_2, colecao); colecao.Persistir(); Assert.IsFalse(Checar.MaiorQue(objFuncionalidadeMAP.ID), "O registro 1 deveria ter sido removido."); Assert.IsFalse(Checar.MaiorQue(objFuncionalidadeMAP_2.ID), "O registro 2 deveria ter sido removido."); }
public void InicializarObjetosEnvolvidos() { this.AmbienteEnvolvido = new Ambiente(); this.AmbienteEnvolvido.Titulo = "Portal Administrativo (Homologação)"; this.AmbienteEnvolvido.Habilitado = Valor.Ativo; this.AmbienteEnvolvido.Restrito = Valor.Ativo; // Acesso não autenticado. AcessoController.Manter(this.AmbienteEnvolvido, "usuario.teste", null); }
public void InicializarObjetosEnvolvidos() { ColecaoPersistencia colecao = new ColecaoPersistencia(); this.Usuario = UsuarioController.Create(); this.Usuario.Tipo = EnumAutenticacao.TipodeUsuario.Usuario; this.Usuario.Login = "******"; this.Usuario.Senha = "bnkGt/s/jhxjZsCRAFDllQ=="; // testes UsuarioController.Manter(this.Usuario, colecao); this.Ambiente = new Ambiente(); this.Ambiente.Titulo = "Portal (Homologação)"; this.Ambiente.Habilitado = Valor.Ativo; this.Ambiente.Restrito = Valor.Ativo; AcessoController.Manter(this.Ambiente, "usuario.testes", colecao); // INÍCIO: A exclusão do ambiente irá efetuar o processo de limpeza automática dos registros associados (cascata) SuperGrupo objSuperGrupo = new SuperGrupo(); objSuperGrupo.Titulo = "Aninhamento Padrão - Nível 1 (Homologação)"; objSuperGrupo.Ambiente = this.Ambiente; objSuperGrupo.Habilitado = Valor.Ativo; objSuperGrupo.CodigoInterno = EnumAcesso.CodigoInterno_Grupo.Individual; AcessoController.Manter(objSuperGrupo, "usuario.testes", colecao); Grupo objGrupo = new Grupo(); objGrupo.Titulo = "Aninhamento Padrão - Nível 2 (Homologação)"; objGrupo.SuperGrupo = objSuperGrupo; objGrupo.Habilitado = Valor.Ativo; objGrupo.CodigoInterno = EnumAcesso.CodigoInterno_Grupo.Individual; AcessoController.Manter(objGrupo, "usuario.testes", colecao); // FIM: A exclusão do ambiente irá efetuar o processo de limpeza automática dos registros associados (cascata) this.Funcionalidade = new Funcionalidade(); this.Funcionalidade.Titulo = "Validação de Página Mapeada (Homologação)"; this.Funcionalidade.Grupo = objGrupo; this.Funcionalidade.Habilitado = Valor.Ativo; AcessoController.Manter(this.Funcionalidade, "usuario.testes", colecao); colecao.Persistir(); this.Mapeamento = new AcessoMap(); this.Mapeamento.Tipo = EnumAcesso.TipodeAcesso.Funcionalidade; this.Mapeamento.IdAcesso = this.Funcionalidade.ID; this.Mapeamento.UrlMapID = PAGINA_ID; this.Mapeamento.Principal = Valor.Ativo; AcessoController.Manter(this.Mapeamento, "usuario.testes", null); this.Permissao = PermissaoController.Create(); try { UsuarioCorrenteFacade.Desconectar(); } catch { /* Prevenção */ } }
public void NaoPermiteoMapeamentoDeGruposOuSuperGrupos() { AcessoMap objGrupoMAP = new AcessoMap(); objGrupoMAP.Tipo = EnumAcesso.TipodeAcesso.Grupo; // *ERRO* objGrupoMAP.IdAcesso = Valor.Um; // DEFAULT objGrupoMAP.UrlMapID = Valor.Um; objGrupoMAP.Principal = Valor.Ativo; AcessoController.Manter(objGrupoMAP, "usuario.teste", null); Assert.IsFalse(Checar.MaiorQue(objGrupoMAP.ID), "Não deveria permitir o mapeamento de Grupo ou SuperGrupo."); }
public void ValidandoAcessoaUmaPaginaAnonima() { ColecaoPersistencia colecao = new ColecaoPersistencia(); this.Ambiente.Titulo = "Páginas Anônimas (Homologação)"; this.Ambiente.Habilitado = Valor.Ativo; this.Ambiente.Restrito = Valor.Ativo; this.Ambiente.CodigoInterno = EnumAcesso.CodigoInterno_Ambiente.Anonimo; AcessoController.Manter(this.Ambiente, "usuario.testes", colecao); // INÍCIO: A exclusão do ambiente irá efetuar o processo de limpeza automática dos registros associados (cascata) SuperGrupo objSuperGrupo = new SuperGrupo(); objSuperGrupo.Titulo = "Aninhamento Padrão - Nível 1 (Homologação)"; objSuperGrupo.Ambiente = this.Ambiente; objSuperGrupo.Habilitado = Valor.Ativo; objSuperGrupo.CodigoInterno = EnumAcesso.CodigoInterno_Grupo.Individual; AcessoController.Manter(objSuperGrupo, "usuario.testes", colecao); Grupo objGrupo = new Grupo(); objGrupo.Titulo = "Aninhamento Padrão - Nível 2 (Homologação)"; objGrupo.SuperGrupo = objSuperGrupo; objGrupo.Habilitado = Valor.Ativo; objGrupo.CodigoInterno = EnumAcesso.CodigoInterno_Grupo.Individual; AcessoController.Manter(objGrupo, "usuario.testes", colecao); Funcionalidade objFuncionalidade = new Funcionalidade(); objFuncionalidade.Titulo = "Validação de Página (Homologação)"; objFuncionalidade.Grupo = objGrupo; objFuncionalidade.Habilitado = Valor.Ativo; AcessoController.Manter(objFuncionalidade, "usuario.testes", colecao); // FIM: A exclusão do ambiente irá efetuar o processo de limpeza automática dos registros associados (cascata) colecao.Persistir(); int paginaID = Valor.Dois; // Página DEFAULT (Fins de teste) this.Mapeamento.Tipo = EnumAcesso.TipodeAcesso.Funcionalidade; this.Mapeamento.IdAcesso = objFuncionalidade.ID; this.Mapeamento.UrlMapID = paginaID; // Página DEFAULT (Fins de teste) this.Mapeamento.Principal = Valor.Ativo; AcessoController.Manter(this.Mapeamento, "usuario.testes", null); bool isAnonymousPage = AnonymousPageFacade.IsTrue(paginaID); Assert.IsTrue(isAnonymousPage, "Não foi possível localizar a associação com o cenário ANONIMO."); }
public void InicializarObjetosEnvolvidos() { this.Usuario = UsuarioController.Create(); this.Usuario.Tipo = EnumAutenticacao.TipodeUsuario.Usuario; this.Usuario.Login = "******"; this.Usuario.Senha = "bnkGt/s/jhxjZsCRAFDllQ=="; // testes this.Usuario.Avatar = Valor.Vazio; UsuarioController.Manter(this.Usuario, null); this.Ambiente = new Ambiente(); this.Ambiente.Titulo = "Portal Administrativo (Homologação)"; this.Ambiente.Habilitado = Valor.Ativo; this.Ambiente.Restrito = Valor.Ativo; AcessoController.Manter(this.Ambiente, this.Usuario.Login, null); }
public void ValidarMapeamentos() { ColecaoPersistencia colecao = new ColecaoPersistencia(); AcessoMap objAmbienteMAP = new AcessoMap(); objAmbienteMAP.Tipo = EnumAcesso.TipodeAcesso.Ambiente; objAmbienteMAP.IdAcesso = this.AmbienteEnvolvido.ID; objAmbienteMAP.UrlMapID = Valor.Um; objAmbienteMAP.Principal = Valor.Ativo; AcessoController.Manter(objAmbienteMAP, "usuario.teste", colecao); AcessoController.Excluir(objAmbienteMAP, colecao); colecao.Persistir(); Assert.That(Checar.MenorouIgual(objAmbienteMAP.ID), "Não foi possível concluir a operação de criação e exclusão de mapeamento."); }
public void NaoPodeHaverDoisItensMapeadosComoPrincipaisQuandoFuncionalidadeMesmoSendoDistintos() { ColecaoPersistencia colecao = new ColecaoPersistencia(); AcessoMap objFuncionalidadeMAP = new AcessoMap(); objFuncionalidadeMAP.Tipo = EnumAcesso.TipodeAcesso.Funcionalidade; objFuncionalidadeMAP.IdAcesso = Valor.Um; // DEFAULT (ID SuperGrupo ou Grupo) objFuncionalidadeMAP.UrlMapID = Valor.Um; objFuncionalidadeMAP.Principal = Valor.Ativo; AcessoController.Manter(objFuncionalidadeMAP, "usuario.teste", colecao); AcessoMap objFuncionalidadeMAP_2 = new AcessoMap(); objFuncionalidadeMAP_2.Tipo = EnumAcesso.TipodeAcesso.Funcionalidade; objFuncionalidadeMAP_2.IdAcesso = Valor.Um; // DEFAULT (ID SuperGrupo ou Grupo) objFuncionalidadeMAP_2.UrlMapID = Valor.Dois; objFuncionalidadeMAP_2.Principal = Valor.Ativo; // *ERRO* AcessoController.Manter(objFuncionalidadeMAP_2, "usuario.teste", colecao); colecao.Persistir(); }
public void NaoPermitirMaisDeUmItemMapeadoNoMesmoAmbiente() { ColecaoPersistencia colecao = new ColecaoPersistencia(); AcessoMap objAmbienteMAP = new AcessoMap(); objAmbienteMAP.Tipo = EnumAcesso.TipodeAcesso.Ambiente; objAmbienteMAP.IdAcesso = Valor.Um; // DEFAULT (ID Ambiente) objAmbienteMAP.UrlMapID = Valor.Um; objAmbienteMAP.Principal = Valor.Ativo; AcessoController.Manter(objAmbienteMAP, "usuario.teste", colecao); AcessoMap objAmbienteMAP_DUPLICADO = new AcessoMap(); objAmbienteMAP.Tipo = EnumAcesso.TipodeAcesso.Ambiente; objAmbienteMAP.IdAcesso = Valor.Um; // DEFAULT (ID Ambiente) objAmbienteMAP.UrlMapID = Valor.Dois; objAmbienteMAP.Principal = Valor.Ativo; AcessoController.Manter(objAmbienteMAP_DUPLICADO, "usuario.teste", colecao); // *ERRO* colecao.Persistir(); Assert.IsFalse(Checar.MaiorQue(objAmbienteMAP_DUPLICADO.ID), "Não deveria permitir a duplicação de ligações quando Ambiente."); }