Example #1
0
        public void TestDefaultValues()
        {
            var store       = new EmailBackedKeyValueStore(null, "store key", "message subject");
            var objectValue = store.GetOrCreateEmpty <TestData>("unknown key");

            Assert.IsNotNull(objectValue.AsObject);
            Assert.AreEqual(@"{""Data"":""""}", objectValue.AsString);

            var intValue = store.GetOrCreateEmpty <int>("unknown key");

            Assert.AreEqual(@"0", intValue.AsString);

            var stringValue = store.GetOrCreateEmpty <string>("unknown key");

            Assert.AreEqual(@"""""", stringValue.AsString);

            var listValue = store.GetOrCreateEmpty <List <int> >("unknown key");

            Assert.IsNotNull(listValue.AsObject);
            Assert.AreEqual(@"[]", listValue.AsString);
        }
Example #2
0
        public void TestWriteAndReadValue()
        {
            var store      = new EmailBackedKeyValueStore(null, "store key", "message subject");
            var testObject = new TestData()
            {
                Data = "the data"
            };

            store.Set("my key", testObject);

            var readValue = store.GetOrCreateEmpty <TestData>("my key");

            Assert.AreEqual("the data", readValue.AsObject?.Data);
        }
Example #3
0
        public void TestForceNullDefaultValue()
        {
            var store      = new EmailBackedKeyValueStore(null, "store key", "message subject");
            var testObject = new TestData()
            {
                Data = "the data"
            };

            store.Set("my key", testObject);

            var readValue = store.GetOrCreateEmpty <TestData?>("unknown key", () => default);

            Assert.IsNull(readValue.AsObject);
            Assert.AreEqual("null", readValue.AsString);
        }
Example #4
0
        public void TestComplexValue()
        {
            var store      = new EmailBackedKeyValueStore(null, "store key", "message subject");
            var testObject = new ProcessedTeamsUser(new TeamsDataContext((TeamsParticipant)"8:orgid:00000000-0000-beef-0000-000000000000", new ProcessedTenant(new TeamsInternal.TeamsInternalApi.api.mt.emea.beta.users.Tenant()
            {
                tenantName = "Test Tenant"
            }, DateTime.Now)), (TeamsParticipant)"8:orgid:00000000-0000-beef-0000-000000000000")
            {
                State = ProcessedTeamsUser.TeamsUserState.MissingFromTenant
            };

            store.Set("my key", testObject);

            var readValue = store.GetOrCreateEmpty <ProcessedTeamsUser>("my key");

            Assert.AreEqual(ProcessedTeamsUser.TeamsUserState.MissingFromTenant, readValue.AsObject?.State);
            Assert.AreEqual("8:orgid:00000000-0000-beef-0000-000000000000", readValue.AsObject?.DataContext.MainUserId.Mri);
            Assert.AreEqual("00000000-0000-beef-0000-000000000000", readValue.AsObject?.DataContext.MainUserId.Id);
            Assert.AreEqual(ParticipantKind.User, readValue.AsObject?.DataContext.MainUserId.Kind);
            Assert.AreEqual("Test Tenant", readValue.AsObject?.DataContext.Tenant.TenantName);
        }
Example #5
0
        public void TestTextAndHtmlContent()
        {
            var store      = new EmailBackedKeyValueStore(null, "store key", "message subject");
            var testObject = new ProcessedTeamsUser(new TeamsDataContext((TeamsParticipant)"8:orgid:00000000-0000-beef-0000-000000000000", new ProcessedTenant(new TeamsInternal.TeamsInternalApi.api.mt.emea.beta.users.Tenant()
            {
                tenantName = "Test Tenant"
            }, DateTime.Now)), (TeamsParticipant)"8:orgid:00000000-0000-beef-0000-000000000000")
            {
                State = ProcessedTeamsUser.TeamsUserState.MissingFromTenant
            };

            store.Set("my key", testObject);

            store.SetTextContent("i am a text");
            store.SetHtmlContent("i am HTML");

            Assert.AreEqual("i am a text", store.GetTextContent());
            Assert.AreEqual("i am HTML", store.GetHtmlContent());

            var attachments = new MimeKit.AttachmentCollection();

            using (var stream = new MemoryStream())
            {
                stream.Write(Encoding.UTF8.GetBytes("i am an attachment"));
                stream.Position = 0;
                attachments.Add("test.txt", stream);
            }
            store.AddAttachments(attachments);
            Assert.AreEqual(1, store.MessageAndId.Message?.Attachments.Count());

            using (var debugStream = new MemoryStream())
            {
                store.MessageAndId.Message?.WriteTo(debugStream);
                var s = Encoding.ASCII.GetString(debugStream.ToArray());
            }

            var readValue = store.GetOrCreateEmpty <ProcessedTeamsUser>("my key");

            Assert.AreEqual("8:orgid:00000000-0000-beef-0000-000000000000", readValue.AsObject?.DataContext.MainUserId.Mri);
        }