示例#1
0
        public void Create()
        {
            var str = "abc";
            var cn = this.RandomString();
            var c = new Configuration(this.CreateApp(), cn);
            c.SetDescription(str);
            c.AddFlag(str);
            c.AddProperty(str);
            this._configService.Create(c);

            this.Evict(c);

            var c2 = this._configService.GetConfiguration(c.ID);
            Assert.AreEqual(c.Name, c2.Name);
            Assert.AreEqual(c.Description, c2.Description);
            Assert.Contains(str, c2.Flags.ToList());
            Assert.Contains(str, c2.Properties.ToList());
            Assert.IsNotNull(c2.LastTime);
        }
 private Configuration CreateTemp(string name)
 {
     var c = new Configuration(new Application(new Account(Guid.NewGuid().ToString())), name);
     c.AddFlag("Debug");
     c.AddFlag("Test");
     c.AddFlag("Release");
     c.AddFlag("Performance");
     c.AddFlag("Try?");
     for (var i = 0; i < 50; i++)
     {
         var p = c.AddProperty("key-" + i);
         p.SetDescription("It's a property named " + p.Name);
         p.Value = "good job, properties dose." + this.GetString(100);
         p["Debug"] = "Debug value " + this.GetString(100);
         p["Test"] = "Test value " + this.GetString(100);
         p["Release"] = "Release value " + this.GetString(100);
     }
     return c;
 }
示例#3
0
        public void Flag()
        {
            var app = this.GetTempApp();
            var c = new Configuration(app, this.RandomString());
            Assert.IsNull(c.LastTime);
            Assert.IsNotNull(c.Flags);
            Assert.IsEmpty(c.Flags);

            var flag = "flag";
            c.AddFlag(flag);
            //add flag will make LastTime change
            Assert.IsNotNull(c.LastTime);
            Assert.AreEqual(1, c.Flags.Count());
            Assert.Contains(flag, c.Flags.ToList());

            DateTime prev = c.LastTime.Value;
            this.Idle();
            c.RemoveFlag(flag);
            //lasttime change
            Assert.Greater(c.LastTime, prev);
            Assert.IsEmpty(c.Flags);
            Assert.DoesNotThrow(() => c.RemoveFlag(flag));

            //can not duplicate
            c.AddFlag(flag);
            Assert.Throws<AssertionException>(() => c.AddFlag(flag));
        }
示例#4
0
        public void Update()
        {
            var c = new Configuration(this.CreateApp(), this.RandomString());
            this._configService.Create(c);
            var str = "abc";
            c.SetDescription(str);
            c.AddFlag(str);
            c.AddProperty(str)[str] = str;
            c.GetProperty(str).Value = null;
            c.GetProperty(str).Trash();
            c.GetProperty(str).DoCommit();
            this._configService.Update(c);

            this.Evict(c);

            var c2 = this._configService.GetConfiguration(c.ID);
            Assert.IsNotNull(c2.LastTime);
            Assert.Contains(str, c2.Flags.ToList());
            Assert.Contains(str, c2.Properties.ToList());
            Assert.IsNotNull(c2.GetProperty(str).LastCommitTime);
            Assert.IsTrue(c2.GetProperty(str).Committed().IsTrashed);
            Assert.IsTrue(c2.GetProperty(str).Uncommitted().IsTrashed);
            Assert.AreEqual(str, c2.GetProperty(str).Committed()[str]);
            Assert.AreEqual(str, c2.GetProperty(str).Uncommitted()[str]);
        }