public void GetSingleMemberReturns_And_Converts()
        {
            var            multiplexer = new Mock <IConnectionMultiplexer>();
            var            logger      = new Mock <ILogger <RedisLocationCache> >();
            var            db          = new Mock <IDatabase>();
            MemberLocation ml1         = new MemberLocation {
                MemberID = Guid.NewGuid(),
                Location = new GpsCoordinate {
                    Latitude  = 10.0,
                    Longitude = 30.0
                }
            };

            var        teamId    = Guid.NewGuid();
            RedisValue hashValue = (RedisValue)ml1.ToJsonString();

            multiplexer.Setup(m => m.GetDatabase(It.IsAny <int>(), null)).Returns(db.Object);
            db.Setup(d => d.HashGet(It.Is <RedisKey>(r => r == teamId.ToString()), It.Is <RedisValue>(f => f == ml1.MemberID.ToString()),
                                    CommandFlags.None)).Returns(hashValue);

            var cache = new RedisLocationCache(logger.Object, multiplexer.Object);

            MemberLocation mlExpected = cache.Get(teamId, ml1.MemberID);

            Assert.Equal(mlExpected.MemberID, ml1.MemberID);
            db.VerifyAll();
        }
        public void GetTeamMemberCallsCacheGet()
        {
            var cache = new Mock <ILocationCache>();

            Guid teamId   = Guid.NewGuid();
            Guid memberId = Guid.NewGuid();
            var  ml       = new MemberLocation {
                MemberID = memberId,
                Location = new GpsCoordinate {
                    Latitude  = 12.0,
                    Longitude = 50.0
                }
            };

            cache.Setup(c => c.Get(It.Is <Guid>(g => g == teamId), It.Is <Guid>(g => g == memberId))).Returns(ml);
            var logger     = new Mock <ILogger <RealityController> >();
            var controller = new RealityController(cache.Object, logger.Object);

            var result       = controller.GetMemberLocation(teamId, memberId);
            var objectResult = result as OkObjectResult;

            Assert.NotNull(objectResult);
            var newMl = (MemberLocation)objectResult.Value;

            Assert.Equal(ml.MemberID, newMl.MemberID);
            cache.VerifyAll();
        }
Exemple #3
0
        public void PutCallsHashSet_TeamAsHashKey_MemberAsKey()
        {
            var multiplexer = new Mock <IConnectionMultiplexer>();
            var logger      = new Mock <ILogger <RedisLocationCache> >();
            var db          = new Mock <IDatabase>();
            var teamId      = Guid.NewGuid();

            MemberLocation location = new MemberLocation
            {
                MemberID = Guid.NewGuid(),
                Location = new GpsCoordinate
                {
                    Latitude  = 10.0,
                    Longitude = 20.0
                }
            };

            RedisKey   key = teamId.ToString();
            RedisValue v1  = location.MemberID.ToString();
            RedisValue v2  = location.ToJsonString();

            db.Setup(d => d.HashSet(It.Is <RedisKey>(k => k == key),
                                    It.Is <RedisValue>(v => v == v1),
                                    It.Is <RedisValue>(v => v == v2),
                                    When.Always, CommandFlags.PreferMaster));

            multiplexer.Setup(m => m.GetDatabase(It.IsAny <int>(), null)).Returns(db.Object);
            var cache = new RedisLocationCache(logger.Object, multiplexer.Object);

            cache.Put(teamId, location);
            multiplexer.VerifyAll();
            db.VerifyAll();
        }
Exemple #4
0
 public void Put(Guid teamId, MemberLocation memberLocation)
 {
     if (!internalStorage.ContainsKey(teamId))
     {
         internalStorage[teamId] = new List <MemberLocation>();
     }
     internalStorage[teamId].Add(memberLocation);
 }
        public MemberLocation Get(Guid teamId, Guid memberId)
        {
            var db = this.connection.GetDatabase();

            var            value = (string)db.HashGet(teamId.ToString(), memberId.ToString());
            MemberLocation ml    = MemberLocation.FromJsonString(value);

            return(ml);
        }
        private IList <MemberLocation> ConvertRedisValsToLocationList(RedisValue[] vals)
        {
            List <MemberLocation> memberLocations = new List <MemberLocation>();

            foreach (var t in vals)
            {
                var            val = (string)t;
                MemberLocation ml  = MemberLocation.FromJsonString(val);
                memberLocations.Add(ml);
            }

            return(memberLocations);
        }
        private IList <MemberLocation> ConvertRedisValsToLocationList(RedisValue[] vals)
        {
            List <MemberLocation> memberLocations = new List <MemberLocation>();

            for (int x = 0; x < vals.Length; x++)
            {
                string         val = (string)vals[x];
                MemberLocation ml  = MemberLocation.FromJsonString(val);
                memberLocations.Add(ml);
            }

            return(memberLocations);
        }
Exemple #8
0
        private IList <MemberLocation> ConvertRedisValuesToLocationList(RedisValue[] values)
        {
            var memberLocations = new List <MemberLocation>();

            for (int i = 0; i < values.Length; i++)
            {
                var value          = (string)values[i];
                var memberLocation = MemberLocation.FromJsonString(value);
                memberLocations.Add(memberLocation);
            }

            return(memberLocations);
        }
Exemple #9
0
        public void GetMembers_CallsHashValues_And_Converts()
        {
            var            multiplexer = new Mock <IConnectionMultiplexer>();
            var            logger      = new Mock <ILogger <RedisLocationCache> >();
            var            db          = new Mock <IDatabase>();
            MemberLocation ml1         = new MemberLocation
            {
                MemberID = Guid.NewGuid(),
                Location = new GpsCoordinate
                {
                    Latitude  = 10.0,
                    Longitude = 30.0
                }
            };
            MemberLocation ml2 = new MemberLocation
            {
                MemberID = Guid.NewGuid(),
                Location = new GpsCoordinate
                {
                    Latitude  = 10.0,
                    Longitude = 40.0
                }
            };
            MemberLocation ml3 = new MemberLocation
            {
                MemberID = Guid.NewGuid(),
                Location = new GpsCoordinate
                {
                    Latitude  = 10.0,
                    Longitude = 50.0
                }
            };
            var teamId = Guid.NewGuid();

            RedisValue[] hashValues = new RedisValue[] {
                ml1.ToJsonString(), ml2.ToJsonString(), ml3.ToJsonString()
            };

            multiplexer.Setup(m => m.GetDatabase(It.IsAny <int>(), null)).Returns(db.Object);
            db.Setup(d => d.HashValues(It.Is <RedisKey>(r => r == teamId.ToString()), CommandFlags.None)).Returns(hashValues);

            var cache = new RedisLocationCache(logger.Object, multiplexer.Object);


            IList <MemberLocation> members = cache.GetMemberLocations(teamId);

            multiplexer.VerifyAll();
            db.VerifyAll();

            Assert.Equal(3, members.Count);
        }
        private List <MemberLocation> GenerateFakeMembers()
        {
            List <MemberLocation> locations = new List <MemberLocation>();

            for (int x = 0; x < 5; x++)
            {
                MemberLocation ml = new MemberLocation()
                {
                    MemberID = Guid.NewGuid(),
                    Location = new GpsCoordinate()
                    {
                        Latitude  = 30.0,
                        Longitude = 20.0
                    }
                };
                locations.Add(ml);
            }
            return(locations);
        }
        public void AddLocationToMember(int MemberId, AddressType addressType,
                                        int?CountryId, int?RegionId,
                                        string City, string Address,
                                        string PostalCode, int?Privacy)
        {
            MemberLocation l = new MemberLocation
            {
                MemberId    = MemberId,
                AddressType = (byte?)addressType,
                CountryId   = CountryId,
                RegionId    = RegionId,
                City        = City,
                Address     = Address,
                Privacy     = Privacy,
                PostalCode  = PostalCode
            };

            DataContext.MemberLocations.InsertOnSubmit(l);
            Save();
        }
 public Constructor(string name, string[] parameters, MemberLocation location)
 {
     Name       = name;
     Parameters = parameters;
 }
 protected AbstractMember(NameStructure identifier, AbstractNode parent, MemberLocation location)
 {
     Identifier = identifier;
     Parent     = parent;
     Location   = location;
 }
 public virtual IActionResult UpdateMemberLocation(Guid teamId, Guid memberId, [FromBody] MemberLocation memberLocation)
 {
     this.locationCache.Put(teamId, memberLocation);
     return(this.Ok(memberLocation));
 }
        public void Put(Guid teamId, MemberLocation memberLocation)
        {
            var db = this.connection.GetDatabase();

            db.HashSet(teamId.ToString(), memberLocation.MemberId.ToString(), memberLocation.ToJsonString());
        }
 public EventMember(NameStructure identifier, MemberLocation location)
     : base(identifier, null, location)
 {
 }
Exemple #17
0
 private void SetMemberLocation(Guid teamId, MemberLocation memberLocation)
 {
 }
Exemple #18
0
 public MethodMember(NameStructure identifier, AbstractNode parent, MemberLocation location,
                     string[] typeArgs, IEnumerable <Parameter> parameters) : base(identifier, parent, location)
 {
     TypeArguments = typeArgs;
     Parameters    = parameters.ToArray();
 }
Exemple #19
0
 public void Put(Guid teamId, MemberLocation memberLocation)
 {
     throw new NotImplementedException();
 }