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"); } } }
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(); }
public DataAccessCredentialsCommand(DataAccessCredentials dataAccessCredentials) { DataAccessCredentials = dataAccessCredentials; CurrentUsage = DataAccessCredentials.GetAllTableInfosThatUseThis(); }