Пример #1
0
        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.");
        }
Пример #4
0
        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.");
        }
Пример #5
0
 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 */ }
        }
Пример #7
0
        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.");
        }
Пример #9
0
        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);
        }
Пример #10
0
        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.");
        }
Пример #11
0
        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();
        }
Пример #12
0
        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.");
        }