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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 4
0
        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());
            }
        }
Ejemplo n.º 5
0
        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;
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }