Example #1
0
        public ExecuteCommandUseCredentialsToAccessTableInfoData(IBasicActivateItems activator,
                                                                 DataAccessCredentials credentials, TableInfo targetTableInfo) : base(activator)
        {
            _credentials = credentials;

            _tableInfo = targetTableInfo;

            if (_credentials == null)
            {
                _available = BasicActivator.RepositoryLocator.CatalogueRepository.GetAllObjects <DataAccessCredentials>();

                if (_available.Length == 0)
                {
                    SetImpossible("There are no credentials configured");
                }
            }
            else
            {
                var usage = _credentials.GetAllTableInfosThatUseThis();

                if (usage[DataAccessContext.Any].Contains(targetTableInfo))
                {
                    SetImpossible(_credentials + " is already used to access " + targetTableInfo + " under Any context");
                }
            }
        }
Example #2
0
        public void GetAllUsersOfACredential()
        {
            //Get all TableInfos that share this credential
            TableInfo tableInfo1 = new TableInfo(CatalogueRepository, "Create2TableInfosThatShareTheSameCredentialAndTestDeletingIt1");
            TableInfo tableInfo2 = new TableInfo(CatalogueRepository, "Create2TableInfosThatShareTheSameCredentialAndTestDeletingIt2");
            var       creds      = new DataAccessCredentials(CatalogueRepository, "bob");

            tableInfo1.SetCredentials(creds, DataAccessContext.InternalDataProcessing);
            tableInfo2.SetCredentials(creds, DataAccessContext.InternalDataProcessing);
            tableInfo1.SaveToDatabase();
            tableInfo2.SaveToDatabase();


            TableInfo[] TablesThatUseCredential = creds.GetAllTableInfosThatUseThis()[DataAccessContext.InternalDataProcessing].ToArray();

            Assert.AreEqual(TablesThatUseCredential[0], tableInfo1);
            Assert.AreEqual(TablesThatUseCredential[1], tableInfo2);

            tableInfo1.DeleteInDatabase();
            tableInfo2.DeleteInDatabase();
            creds.DeleteInDatabase();
        }
Example #3
0
 public DataAccessCredentialsCommand(DataAccessCredentials dataAccessCredentials)
 {
     DataAccessCredentials = dataAccessCredentials;
     CurrentUsage          = DataAccessCredentials.GetAllTableInfosThatUseThis();
 }