Esempio n. 1
0
        public void BaseSetUp()
        {
            _exportedPackages = new List <List <IDEEvent> >();

            _ioUtilsMock = new Mock <IIoUtils>();
            Registry.RegisterComponent(_ioUtilsMock.Object);
            _publisherUtilsMock = new Mock <IPublisherUtils>();
            _publisherUtilsMock
            .Setup(
                p =>
                p.WriteEventsToZipStream(
                    It.IsAny <IEnumerable <IDEEvent> >(),
                    It.IsAny <Stream>(),
                    It.IsAny <Action>()))
            .Returns <IEnumerable <IDEEvent>, Stream, Action>(MockWriteEventsToZipStream);

            _publisherUtilsMock.Setup(
                p => p.UploadEventsByHttp(It.IsAny <IIoUtils>(), It.IsAny <Uri>(), It.IsAny <MemoryStream>()));

            Registry.RegisterComponent(_publisherUtilsMock.Object);

            _userProfileEvent = new UserProfileEvent {
                ProfileId = "p"
            };
        }
Esempio n. 2
0
        public void SetUp()
        {
            _logManager = new InMemoryLogManager();

            _publishedEvents = null;
            _publisher       = Mock.Of <IPublisher>();
            Mock.Get(_publisher)
            .Setup(
                p => p.Publish(It.IsAny <UserProfileEvent>(), It.IsAny <IEnumerable <IDEEvent> >(), It.IsAny <Action>()))
            .Callback <UserProfileEvent, IEnumerable <IDEEvent>, Action>(
                (upe, events, callback) =>
            {
                _publishedUpe = upe;

                _publishedEvents = new List <IDEEvent>();
                foreach (var e in events)
                {
                    _publishedEvents.Add(e);
                    callback();
                }
            });

            _anonymizer = Mock.Of <IDataExportAnonymizer>();
            Mock.Get(_anonymizer).Setup(a => a.Anonymize(It.IsAny <IDEEvent>())).Returns <IDEEvent>(ideEvent => ideEvent);

            _userProfileEvent = new UserProfileEvent {
                ProfileId = "p"
            };

            _userProfileEventGenerator = Mock.Of <IUserProfileEventGenerator>();
            Mock.Get(_userProfileEventGenerator).Setup(e => e.CreateEvent()).Returns(_userProfileEvent);

            _sut = new Exporter(_logManager, _anonymizer, _userProfileEventGenerator);
        }
Esempio n. 3
0
        public void Default()
        {
            var actual   = new UserProfileEvent().ToStringExt();
            var expected = "{\n\tProfileId: \"\"\n\tEducation: Unknown\n\tPosition: Unknown\n\tdate: -\n}";

            Assert.AreEqual(expected, actual);
        }
        public void Equality_Default()
        {
            var a = new UserProfileEvent();
            var b = new UserProfileEvent();

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentProjects_Personal()
        {
            var a = new UserProfileEvent
            {
                ProjectsPersonal = true
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentEducation()
        {
            var a = new UserProfileEvent
            {
                Education = Educations.Training
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentProjects_SharedLarge()
        {
            var a = new UserProfileEvent
            {
                ProjectsSharedLarge = true
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentPosition()
        {
            var a = new UserProfileEvent
            {
                Position = Positions.HobbyProgrammer
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentProfileId()
        {
            var a = new UserProfileEvent
            {
                ProfileId = "p"
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentProgrammingCSharp()
        {
            var a = new UserProfileEvent
            {
                ProgrammingCSharp = Likert7Point.Negative1
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentComment()
        {
            var a = new UserProfileEvent
            {
                Comment = "f"
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentCodeReviews()
        {
            var a = new UserProfileEvent
            {
                CodeReviews = YesNoUnknown.Yes
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_DifferentTeam_Large()
        {
            var a = new UserProfileEvent
            {
                TeamsLarge = true
            };
            var b = new UserProfileEvent();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Esempio n. 14
0
        public static string ToStringExt(this UserProfileEvent e)
        {
            var sb = new StringBuilder();

            sb.Open()
            .Field("ProfileId", Quote(e.ProfileId))
            .Field("Education", e.Education)
            .Field("Position", e.Position)
            .Field("date", e.TriggeredAt.HasValue ? e.TriggeredAt.ToString() : "-")
            .Close();
            return(sb.ToString());
        }
Esempio n. 15
0
        public void AllSourceEventsArePublishedTogetherWithProfile()
        {
            var upe        = new UserProfileEvent();
            var testEvents = TestEventSource(10).ToList();

            var uut = new FilePublisher(() => SomeTargetLocation);

            uut.Publish(upe, testEvents, () => { });

            Assert.AreEqual(1, _exportedPackages.Count);
            var exported = _exportedPackages.SelectMany(e => e).ToList();

            CollectionAssert.AreEqual(testEvents.Prepend(upe), exported);
        }
        public void Equality_DifferntBaseInformation()
        {
            var a = new UserProfileEvent
            {
                Id = "1"
            };
            var b = new UserProfileEvent
            {
                Id = "2"
            };

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Esempio n. 17
0
        public void Setup()
        {
            _io     = Mock.Of <IIoHelper>();
            _helper = Mock.Of <UserProfileExportHelper>();
            _sut    = new UserProfileExportRunner(_io, _helper);

            _userProfileEvent = new UserProfileEvent
            {
                TriggeredAt = DateTime.Now,
                Id          = "some id to make it non default"
            };

            Mock.Get(_io).Setup(io => io.FindExports()).Returns(Lists.NewList("a.zip", "b.zip"));
            Mock.Get(_io).Setup(io => io.ReadEvents("a.zip")).Returns(Lists.NewList(NewCommandEvent(1)));
            Mock.Get(_io).Setup(io => io.ReadEvents("b.zip")).Returns(Lists.NewList(_userProfileEvent));
        }
        private void AssertEvent(UserProfileEvent expected)
        {
            var actual = _sut.CreateEvent();

            // remove information from base event...
            actual.KaVEVersion    = null;
            actual.TriggeredAt    = null;
            actual.TriggeredBy    = EventTrigger.Unknown;
            actual.Duration       = null;
            actual.ActiveWindow   = null;
            actual.ActiveDocument = null;

            // .. but keep one to make sure it was actually invoked
            expected.IDESessionUUID = TestRSEnv.IDESession.UUID;

            Assert.AreEqual(expected, actual);
        }
        public void Equality_ReallyTheSame()
        {
            var a = new UserProfileEvent
            {
                ProfileId            = "p",
                Education            = Educations.Training,
                Position             = Positions.HobbyProgrammer,
                ProjectsCourses      = true,
                ProjectsPersonal     = true,
                ProjectsSharedSmall  = true,
                ProjectsSharedMedium = true,
                ProjectsSharedLarge  = true,
                TeamsSolo            = true,
                TeamsSmall           = true,
                TeamsMedium          = true,
                TeamsLarge           = true,
                CodeReviews          = YesNoUnknown.Yes,
                ProgrammingGeneral   = Likert7Point.Negative1,
                ProgrammingCSharp    = Likert7Point.Negative2,
                Comment = "f"
            };
            var b = new UserProfileEvent
            {
                ProfileId            = "p",
                Education            = Educations.Training,
                Position             = Positions.HobbyProgrammer,
                ProjectsCourses      = true,
                ProjectsPersonal     = true,
                ProjectsSharedSmall  = true,
                ProjectsSharedMedium = true,
                ProjectsSharedLarge  = true,
                TeamsSolo            = true,
                TeamsSmall           = true,
                TeamsMedium          = true,
                TeamsLarge           = true,
                CodeReviews          = YesNoUnknown.Yes,
                ProgrammingGeneral   = Likert7Point.Negative1,
                ProgrammingCSharp    = Likert7Point.Negative2,
                Comment = "f"
            };

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
Esempio n. 20
0
        public void Publish(UserProfileEvent upe,
                            IEnumerable <IDEEvent> events,
                            Action progress)
        {
            var filename = _requestFileLocation();

            Asserts.Not(filename.IsNullOrEmpty(), Messages.NoFileGiven);

            try
            {
                using (var file = _ioUtils.OpenFile(filename, FileMode.Create, FileAccess.Write))
                {
                    _publisherUtils.WriteEventsToZipStream(events.Prepend(upe), file, progress);
                }
            }
            catch (Exception e)
            {
                Asserts.Fail(Messages.PublishingFileFailed, e.Message);
            }
        }
        public void DefaultValues()
        {
            var sut = new UserProfileEvent();

            Assert.AreEqual("", sut.ProfileId);
            Assert.AreEqual(Educations.Unknown, sut.Education);
            Assert.AreEqual(Positions.Unknown, sut.Position);
            Assert.False(sut.ProjectsCourses);
            Assert.False(sut.ProjectsPersonal);
            Assert.False(sut.ProjectsSharedSmall);
            Assert.False(sut.ProjectsSharedMedium);
            Assert.False(sut.ProjectsSharedLarge);
            Assert.False(sut.TeamsSolo);
            Assert.False(sut.TeamsSmall);
            Assert.False(sut.TeamsMedium);
            Assert.False(sut.TeamsLarge);
            Assert.AreEqual(YesNoUnknown.Unknown, sut.CodeReviews);
            Assert.AreEqual(Likert7Point.Unknown, sut.ProgrammingGeneral);
            Assert.AreEqual(Likert7Point.Unknown, sut.ProgrammingCSharp);
            Assert.AreEqual("", sut.Comment);
        }
Esempio n. 22
0
        public void Publish(UserProfileEvent upe,
                            IEnumerable <IDEEvent> events,
                            Action progress)
        {
            var en = events.GetEnumerator();

            bool eventsWereWritten;

            do
            {
                var eventsToExport = Next(_eventCountPerUpload, en).PrependWith(upe);

                using (var stream = new MemoryStream())
                {
                    eventsWereWritten = _publisherUtils.WriteEventsToZipStream(eventsToExport, stream, progress);
                    if (eventsWereWritten)
                    {
                        _publisherUtils.UploadEventsByHttp(_ioUtils, _hostAddress, stream);
                    }
                }
            } while (eventsWereWritten);
        }
        private static void Instance_OnUserProfileEvent(UserProfileEvent e)
        {
            Debug.Log("OnUserProfileEvent!!!" + e.EventType);

            switch (e.EventType)
            {
            case UserProfileEventType.UserProfileCreated:
                //Must create new game data.
                current = new GameData();
                current.OnUserProfileLoaded();

                UserProfileManager.Instance.UserProfileData.GameData = current;
                UserProfileManager.Instance.SaveLocal();
                if (OnGameDataReady != null)
                {
                    OnGameDataReady(true);
                }
                break;

            case UserProfileEventType.UserProfileLoaded:
                current = JsonConvert.DeserializeObject <GameData>(UserProfileManager.Instance.UserProfileData.GameData.ToString());
                UserProfileManager.Instance.UserProfileData.GameData = current;

                current.OnUserProfileLoaded();
                if (OnGameDataReady != null)
                {
                    OnGameDataReady();
                }
                break;

            case UserProfileEventType.UserProfileError:
                Debug.Log("ERROR Instance_OnUserProfileEvent");
                return;

                //Do nothing, UserProfileManager will backup the corrupted file and create a new profile.
                break;
            }
        }
Esempio n. 24
0
 internal void FireUserProfileReceivedEvent(string userId, string avatarUrl, string displayName) => UserProfileEvent?.Invoke(this, new UserProfileEventArgs()
 {
     UserID = userId, AvatarUrl = avatarUrl, DisplayName = displayName
 });