private async Task _HttpClientDynamic_1_Test() { var testCfg = TestCfg.Get(); var baseurl = testCfg.ProjectServer.Url; var suffix = "_api/ProjectData/$metadata"; var url = baseurl + suffix; var cred = new SharePointOnlineServiceClientCredentials(testCfg.ProjectServer.User, testCfg.ProjectServer.Password, null); var client = new HttpClientDynamic(new Uri(baseurl), cred, null); var request = client.CreateHttpRequestMessage(HttpMethod.Get, suffix, null, null, null); var metadata = (await client.SendAsync <string>("metadata", request, async delegate(AzureOperationResponse <string> r) { r.Body = await r.Response.Content.ReadAsStringAsync().ConfigureAwait(false); }, CancellationToken.None)).Body; Assert.StartsWith("<?xml version=\"1.0\" encoding=\"utf-8\"?><edmx:Edmx Version=\"1.0\"", metadata); }
private static Model.ModelSqlDatabase ReadAllCached() { if (_ModelSqlDatabase != null) { return(_ModelSqlDatabase); } var utility = new Utility() { ConnectionString = TestCfg.Get().ConnectionString }; utility.ReadAll(); var modelDatabase = utility.ModelDatabase; Assert.NotNull(modelDatabase); return(_ModelSqlDatabase = modelDatabase); }
public void ODataRepository_GetUrlMetadata() { var testCfg = TestCfg.Get(); Assert.False(string.IsNullOrEmpty(testCfg.ProjectServer?.Url)); var testCfg = OfaSchlupfer.TestCfg.Get(); var repCSProjectServer = testCfg.ProjectServer.CreateWithSuffix("/_api/ProjectData/[en-us]"); repCSProjectServer.AuthenticationMode = "SPOIDCRL"; var sut = new ODataRepositoryImplementation(null); sut.SetConnectionString(testCfg.ProjectServer, "/_api/ProjectData/[en-us]"); Assert.NotEqual("", sut.GetUrlMetadata()); Assert.StartsWith("http", sut.GetUrlMetadata()); Assert.EndsWith("$metadata", sut.GetUrlMetadata()); }
public void Utility_ReadAll_Test() { var sut = new Utility() { ConnectionString = TestCfg.Get().ConnectionString }; sut.ReadAll(); Assert.True(sut.GetSource().CurrentDatabase.GetTables().Count > 0); var act = sut.ModelDatabase; Assert.True(act.Schemas.Count > 0, "Schemas"); Assert.True(act.Types.Count > 0, "Types"); Assert.True(act.Tables.Count > 0, "Tables"); Assert.True(act.Tables.FirstOrDefault().Columns.Count > 0, "Columns"); foreach (var column in act.Tables.FirstOrDefault().Columns) { Assert.NotNull(column.SqlType); //, "no SqlType in column " + column.Name.ToString()); } }
private async Task _SharePointOnlineCredentialsAuth() { var testCfg = TestCfg.Get(); Assert.False(string.IsNullOrEmpty(testCfg.ProjectServer?.Url)); IServiceCollection services = new ServiceCollection(); services.AddLogging((builder) => { builder.AddDebug(); }); services.AddServiceClientCredentials((builder) => { }); services.AddTransient <ODataRepository, ODataRepositoryImplementation>(); //services.AddSingleton(typeof(OfaSchlupfer.HttpAccess.IHttpClientFactory), typeof(SharePointOnlineFactory)); var serviceProvider = services.BuildServiceProvider(); var sut = serviceProvider.GetService <ODataRepository>(); sut.SetConnectionString(testCfg.ProjectServer, "/_api/ProjectData/[en-us]"); var metadataContent = await sut.GetMetadataAsync(); Assert.StartsWith("<?xml version=\"1.0\" encoding=\"utf-8\"?><edmx:Edmx", metadataContent); }
public void ODataRepository_GetMetadata() { var testCfg = TestCfg.Get(); Assert.False(string.IsNullOrEmpty(testCfg.SolutionFolder)); var contentMetaDataXml = ReadMetaDataXml(testCfg); var modelRepository = new ModelRepository(); var sut = new ODataRepositoryImplementation(null); modelRepository.ReferenceRepositoryModel = sut; sut.SetConnectionString(testCfg.ProjectServer, "/_api/ProjectData/[en-us]"); sut.BuildSchema(contentMetaDataXml); try { string outputPath = System.IO.Path.Combine(testCfg.SolutionFolder, @"test\temp\ODataRepository_GetMetadata.json"); System.IO.File.WriteAllText(outputPath, Newtonsoft.Json.JsonConvert.SerializeObject( sut.ModelSchema, Newtonsoft.Json.Formatting.Indented, new Newtonsoft.Json.JsonSerializerSettings { PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects })); } catch { throw; } }
public void Utility_ReadAll2_Test() { var sut = new Utility() { ConnectionString = TestCfg.Get().ConnectionString }; sut.ReadAll(); var db = sut.ModelDatabase; /* * SELECT [SCHEMA] = SCHEMA_NAME(schema_id),name,type,type_desc from sys.objects where is_ms_shipped=0 * dbo synonyma SN SYNONYM * dbo ScalarFunctionNameA FN SQL_SCALAR_FUNCTION * dbo TableFunctionNameA TF SQL_TABLE_VALUED_FUNCTION * dbo Name U USER_TABLE * dbo PK_Name PK PRIMARY_KEY_CONSTRAINT * dbo NameA V VIEW * dbo inlineFuncA IF SQL_INLINE_TABLE_VALUED_FUNCTION * dbo NameValue U USER_TABLE * dbo PK_NameValue PK PRIMARY_KEY_CONSTRAINT * dbo p P SQL_STORED_PROCEDURE * dbo proca P SQL_STORED_PROCEDURE */ { var guest = db.Schemas.GetValueOrDefault(SqlName.Schema("guest")); Assert.NotNull(guest); } { var t = db.Tables.GetValueOrDefault(SqlName.Parse("dbo.NameValue", ObjectLevel.Object)); Assert.NotNull(t); Assert.Equal(4, t.Columns.Count); } { var t = db.Tables.GetValueOrDefault(SqlName.Parse("dbo.Name", ObjectLevel.Object)); Assert.NotNull(t); Assert.Equal(3, t.Columns.Count); Assert.Equal("idx", t.Columns[0].Name.Name); Assert.Equal("name", t.Columns[1].Name.Name); Assert.Equal("RowVersion", t.Columns[2].Name.Name); } { var v = db.Views.GetValueOrDefault(SqlName.Parse("dbo.NameA", ObjectLevel.Object)); Assert.NotNull(v); Assert.Equal(3, v.Columns.Count); } { var p = db.Procedures.GetValueOrDefault(SqlName.Parse("dbo.proca", ObjectLevel.Object)); Assert.NotNull(p); } { var p = db.Synonyms.GetValueOrDefault(SqlName.Parse("dbo.synonyma", ObjectLevel.Object)); Assert.NotNull(p); } { #warning here TableTypes SQL //var p = db.TableTypes.GetValueOrDefault(SqlName.Parse("[dbo].[TVP_Name]", ObjectLevel.Object)); //Assert.NotNull(p); } }