コード例 #1
0
ファイル: MetricsTests.cs プロジェクト: traanhn/VisualStudio
        public void IsSameWeekWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>());
            var now          = DateTimeOffset.Now;

            Assert.True(usageService.IsSameWeek(now));
            var nowWeek = GetIso8601WeekOfYear(now);

            DateTimeOffset nextWeek = now;

            for (int i = 1; i < 8; i++)
            {
                nextWeek = nextWeek.AddDays(1);
                var week = GetIso8601WeekOfYear(nextWeek);
                Assert.AreEqual(week == nowWeek, usageService.IsSameWeek(nextWeek));
            }

            DateTimeOffset prevWeek = now;

            for (int i = 1; i < 8; i++)
            {
                prevWeek = prevWeek.AddDays(-1);
                var week = GetIso8601WeekOfYear(prevWeek);
                Assert.AreEqual(week == nowWeek, usageService.IsSameWeek(prevWeek));
            }

            Assert.False(usageService.IsSameWeek(now.AddYears(1)));
        }
コード例 #2
0
ファイル: MetricsTests.cs プロジェクト: zotovv/VisualStudio
        public async Task ReadUsageDataWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>(), environment);
            var usageData    = await usageService.ReadLocalData();

            Assert.AreEqual(usageData.LastUpdated.Date, DateTime.Parse("2017-02-24"));
        }
コード例 #3
0
ファイル: MetricsTests.cs プロジェクト: traanhn/VisualStudio
        public void IsSameMonthWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>());
            var now          = DateTimeOffset.Now;

            Assert.True(usageService.IsSameMonth(now));

            DateTimeOffset nextMonth = now;

            for (int i = 1; i < 40; i++)
            {
                nextMonth = nextMonth.AddDays(1);
                Assert.AreEqual(nextMonth.Month == now.Month, usageService.IsSameMonth(nextMonth));
            }

            DateTimeOffset prevMonth = now;

            for (int i = 1; i < 40; i++)
            {
                prevMonth = prevMonth.AddDays(-1);
                Assert.AreEqual(prevMonth.Month == now.Month, usageService.IsSameMonth(prevMonth));
            }

            Assert.False(usageService.IsSameMonth(now.AddYears(1)));
        }
コード例 #4
0
ファイル: MetricsTests.cs プロジェクト: ehmz11/aaa
        public async Task GetUserGuidWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>(), environment, new JoinableTaskContext());
            var guid         = await usageService.GetUserGuid();

            Assert.IsTrue(guid.Equals(UserGuid));
        }
コード例 #5
0
        public UsageViewModel(UsageService usageService)
        {
            MemoryTotal = usageService.MemoryTotal / 1024;

            DriveInfos = new ObservableCollection <BindableDriveInfo>();
            foreach (var info in usageService.DriveInfos)
            {
                DriveInfos.Add(new BindableDriveInfo(info.Name, info.TotalSize / 1024.0 / 1024.0 / 1024.0));
            }

            Task.Factory.StartNew(async() =>
            {
                while (true)
                {
                    CpuUsage    = usageService.CpuUsage;
                    MemoryUsage = MemoryTotal - (usageService.MemoryAvailable / 1024);

                    foreach (var info in usageService.DriveInfos)
                    {
                        var founded       = DriveInfos.First(d => d.Name == info.Name);
                        founded.UsageSize = founded.TotalSize - info.AvailableFreeSpace / 1024.0 / 1024.0 / 1024.0;
                    }

                    await Task.Delay(1000);
                }
            }, TaskCreationOptions.LongRunning);
        }
コード例 #6
0
 public void SetUp()
 {
     _context = new ProjectContext();
     _context.Hierarchy = DataMother.GrammarProject().LoadTests();
     _context.Library = DataMother.GrammarsProjectRunner().GetLibary();
     _service = new UsageService(_context);
 }
コード例 #7
0
        private static bool CheckIfIncidentIsOnCooldownPrefix(StoreIncident incident, string username, ref bool __result)
        {
            EventItem itemEvent = Data.Events.Find(e => string.Equals(e.DefName, incident.defName));

            __result = itemEvent == null || UsageService.IsOnCooldown(itemEvent, username);

            return(false);
        }
コード例 #8
0
        private static bool CheckIfCarePackageIsOnCooldownPrefix(string username, ref bool __result)
        {
            EventItem itemEvent = Data.Events.Find(e => string.Equals(e.DefName, IncidentDefOf.Item.defName));

            __result = itemEvent != null && UsageService.IsOnCooldown(itemEvent, username);

            return(false);
        }
コード例 #9
0
 public OverageMiddleware(RequestDelegate next, IOrganizationRepository organizationRepository, IProjectRepository projectRepository, UsageService usageService, IMetricsClient metricsClient, ILogger <OverageMiddleware> logger)
 {
     _next = next;
     _organizationRepository = organizationRepository;
     _projectRepository      = projectRepository;
     _usageService           = usageService;
     _metricsClient          = metricsClient;
     _logger = logger;
 }
コード例 #10
0
 public UsageServiceTests(ITestOutputHelper output, AppWebHostFactory factory) : base(output, factory)
 {
     Log.SetLogLevel <OrganizationRepository>(LogLevel.Information);
     _cache                  = GetService <ICacheClient>();
     _usageService           = GetService <UsageService>();
     _organizationRepository = GetService <IOrganizationRepository>();
     _projectRepository      = GetService <IProjectRepository>();
     _plans                  = GetService <BillingPlans>();
 }
コード例 #11
0
        public UsageServiceTests(ITestOutputHelper output) : base(output)
        {
            _cache                  = GetService <ICacheClient>();
            _usageService           = GetService <UsageService>();
            _organizationRepository = GetService <IOrganizationRepository>();
            _projectRepository      = GetService <IProjectRepository>();

            Log.SetLogLevel <OrganizationRepository>(LogLevel.Information);
        }
コード例 #12
0
ファイル: MetricsTests.cs プロジェクト: zotovv/VisualStudio
        public async Task ReadUsageDataWorksWhenFileMissing()
        {
            File.Delete(usageFileName);

            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>(), environment);
            var usageData    = await usageService.ReadLocalData();

            Assert.AreEqual(usageData.LastUpdated.Date, DateTimeOffset.Now.Date);
        }
コード例 #13
0
ファイル: MetricsTests.cs プロジェクト: ehmz11/aaa
        public async Task GetUserGuidWorksWhenFileMissing()
        {
            File.Delete(userFileName);

            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>(), environment, new JoinableTaskContext());
            var guid         = await usageService.GetUserGuid();

            Assert.AreNotEqual(guid, Guid.Empty);
        }
コード例 #14
0
ファイル: MetricsTests.cs プロジェクト: zotovv/VisualStudio
        public void IsSameDayWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>(), environment);
            var now          = DateTimeOffset.Now;

            Assert.True(usageService.IsSameDay(now));
            Assert.True(usageService.IsSameDay(now));
            Assert.False(usageService.IsSameDay(now.AddDays(1)));
            Assert.False(usageService.IsSameDay(now.AddDays(-1)));
        }
コード例 #15
0
ファイル: MetricsTests.cs プロジェクト: ehmz11/aaa
        public async Task ReadUsageDataWorksWhenFileMissing()
        {
            File.Delete(usageFileName);

            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>(), environment, new JoinableTaskContext());
            var usageData    = await usageService.ReadLocalData();

            Assert.IsNotNull(usageData);
            Assert.IsNotNull(usageData.Reports);
            Assert.AreEqual(0, usageData.Reports.Count);
        }
コード例 #16
0
ファイル: MetricsTests.cs プロジェクト: ehmz11/aaa
        public async Task ReadUsageDataWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>(), environment, new JoinableTaskContext());
            var usageData    = await usageService.ReadLocalData();

            Assert.IsNotNull(usageData);
            Assert.IsNotNull(usageData.Reports);
            Assert.AreEqual(1, usageData.Reports.Count);
            Assert.AreEqual(1, usageData.Reports[0].Measures.NumberOfClones);
            Assert.AreEqual(2, usageData.Reports[0].Measures.NumberOfReposPublished);
            Assert.AreEqual(3, usageData.Reports[0].Measures.NumberOfPullRequestsOpened);
        }
コード例 #17
0
        public EventPostsJob(IQueue <EventPost> queue, EventParserPluginManager eventParserPluginManager, EventPipeline eventPipeline, IMetricsClient metricsClient, UsageService usageService, IProjectRepository projectRepository, IFileStorage storage, JsonSerializerSettings jsonSerializerSettings, ILoggerFactory loggerFactory = null) : base(queue, loggerFactory)
        {
            _eventParserPluginManager = eventParserPluginManager;
            _eventPipeline            = eventPipeline;
            _metricsClient            = metricsClient;
            _usageService             = usageService;
            _projectRepository        = projectRepository;
            _storage = storage;
            _jsonSerializerSettings = jsonSerializerSettings;

            AutoComplete = false;
        }
コード例 #18
0
ファイル: MetricsTests.cs プロジェクト: traanhn/VisualStudio
        public void IsSameDayWorks()
        {
            var usageService = new UsageService(Substitute.For <IGitHubServiceProvider>());
            var now          = DateTimeOffset.Now;

            Assert.True(usageService.IsSameDay(now));
            Assert.True(usageService.IsSameDay(new DateTimeOffset(now.Year, now.Month, now.Day, 0, 0, 0, TimeSpan.Zero)));
            Assert.False(usageService.IsSameDay(new DateTimeOffset(now.Year, now.Month, now.Day + 1, 0, 0, 0, TimeSpan.Zero)));
            Assert.False(usageService.IsSameDay(new DateTimeOffset(now.Year, now.Month, now.Day - 1, 0, 0, 0, TimeSpan.Zero)));
            Assert.True(usageService.IsSameDay(new DateTimeOffset(now.Year, now.Month, now.Day, 10, 3, 1, TimeSpan.Zero)));
            Assert.False(usageService.IsSameDay(new DateTimeOffset(now.Year, now.Month, now.Day + 1, 10, 3, 1, TimeSpan.Zero)));
            Assert.False(usageService.IsSameDay(new DateTimeOffset(now.Year, now.Month, now.Day - 1, 10, 3, 1, TimeSpan.Zero)));
        }
コード例 #19
0
        public EventPostsJob(IQueue <EventPost> queue, EventPostService eventPostService, EventParserPluginManager eventParserPluginManager, EventPipeline eventPipeline, IMetricsClient metrics, UsageService usageService, IOrganizationRepository organizationRepository, IProjectRepository projectRepository, JsonSerializerSettings jsonSerializerSettings, AppOptions appOptions, ILoggerFactory loggerFactory = null) : base(queue, loggerFactory)
        {
            _eventPostService         = eventPostService;
            _eventParserPluginManager = eventParserPluginManager;
            _eventPipeline            = eventPipeline;
            _metrics                = metrics;
            _usageService           = usageService;
            _organizationRepository = organizationRepository;
            _projectRepository      = projectRepository;
            _jsonSerializerSettings = jsonSerializerSettings;

            _appOptions = appOptions;
            _maximumEventPostFileSize         = _appOptions.MaximumEventPostSize + 1024;
            _maximumUncompressedEventPostSize = _appOptions.MaximumEventPostSize * 10;

            AutoComplete = false;
        }
コード例 #20
0
 public EventPostJobTests(ITestOutputHelper output, AppWebHostFactory factory) : base(output, factory)
 {
     _job                    = GetService <EventPostsJob>();
     _eventQueue             = GetService <IQueue <EventPost> >();
     _storage                = GetService <IFileStorage>();
     _eventPostService       = new EventPostService(_eventQueue, _storage, Log);
     _organizationRepository = GetService <IOrganizationRepository>();
     _projectRepository      = GetService <IProjectRepository>();
     _stackRepository        = GetService <IStackRepository>();
     _eventRepository        = GetService <IEventRepository>();
     _userRepository         = GetService <IUserRepository>();
     _usageService           = GetService <UsageService>();
     _serializer             = GetService <ITextSerializer>();
     _billingManager         = GetService <BillingManager>();
     _plans                  = GetService <BillingPlans>();
     _options                = GetService <AppOptions>();
 }
コード例 #21
0
 public Api(ApiKeys apiKeys, HttpClient httpClient = null)
 {
     Security            = new Security(apiKeys, httpClient: httpClient);
     findService         = new FindService(apiKeys.AddressLookupKey, httpClient: httpClient);
     autocompleteService = new AutocompleteService(apiKeys.AddressLookupKey, httpClient: httpClient);
     getService          = new GetService(apiKeys.AddressLookupKey, httpClient: httpClient);
     typeaheadService    = new TypeaheadService(apiKeys.AddressLookupKey, httpClient: httpClient);
     EmailNotifications  = new EmailNotifications(apiKeys.AdministrationKey, httpClient: httpClient);
     usageService        = new UsageService(apiKeys.AdministrationKey, httpClient: httpClient);
     distanceService     = new DistanceService(apiKeys.AddressLookupKey, httpClient: httpClient);
     Subscription        = new SubscriptionService(apiKeys.AdministrationKey, httpClient: httpClient);
     Plans          = new PlansService(apiKeys.AdministrationKey, httpClient: httpClient);
     Webhooks       = new Webhooks(apiKeys.AdministrationKey, httpClient: httpClient);
     Account        = new Account(apiKeys.AdministrationKey, httpClient: httpClient);
     Invoice        = new InvoiceService(apiKeys.AdministrationKey, httpClient: httpClient);
     PrivateAddress = new PrivateAddressService(apiKeys.AdministrationKey, httpClient: httpClient);
     DirectDebt     = new DirectDebtService(apiKeys.AdministrationKey, httpClient: httpClient);
 }
コード例 #22
0
        protected override void Init()
        {
            DateRange date1    = new DateRange(10);
            DateRange date2    = new DateRange(12);
            IUsable   service1 = new BasicService(new DatePriceDescriptor("Massaggio", "Massaggio sotto l'ombrellone", date1, 5.0));
            IUsable   service2 = new BasicService(new DatePriceDescriptor("Piscina termale 1h", "Accesso alla piscina termale per 1 ora", date2, 6.0));
            IUsable   service3 = new BasicService(new DatePriceDescriptor("Happy aperitivo", "Accesso alla zona happy aperitivo", date2, 4.0));
            IUsable   service4 = new BasicService(new DatePriceDescriptor("Doccia calda", "Accesso alla doccia calda", new DateRange(15), 0.5));

            _services.Add(service1);
            _services.Add(service2);
            _services.Add(service3);
            _services.Add(service4);

            IPacket packet1 = new TicketPacket((new DatePriceDescriptor("Piscina termale x10", "Ticket per l'accesso alla piscina termale", date1, 48.0)), service2, 10);
            IPacket packet2 = new TicketPacket((new DatePriceDescriptor("Massaggio x3", "include 3 massaggi al prezzo di 2", date1, 10)), service1, 3);
            IPacket packet3 = new DateRangePacket((new DatePriceDescriptor("Doccia calda", "accesso alla doccia calsa", date1, 5)), service4, 15);

            _packets.Add(packet1);
            _packets.Add(packet2);
            _packets.Add(packet3);

            ISet <IPacket> bundleSet = new HashSet <IPacket>();

            bundleSet.Add(packet2);
            bundleSet.Add(packet3);

            IBundle bundle1 = new Bundle(bundleSet, new DatePriceDescriptor("Welcome Pack", "Bundle di benvenuto ", date1, 12));

            _bundles.Add(bundle1);
            IUsage usage1 = new UsageService(new DateTime(2017, 7, 16), new SimpleCard(0), service1);
            IUsage usage2 = new UsageService(new DateTime(2017, 7, 16), new SimpleCard(0), service2);
            IUsage usage3 = new UsageService(new DateTime(2017, 8, 10), new SimpleCard(1), service2);
            IPrenotationCoordinator prenotationCoordinator = CoordinatorManager.Instance.CoordinatorOfType <IPrenotationCoordinator>();

            _usages.Add(usage1);
            _usages.Add(usage2);
            _usages.Add(usage3);
        }
コード例 #23
0
        public static void Execute([NotNull] this Command command, [NotNull] ITwitchMessage message, bool emojiOverride = false)
        {
            if (command.requiresAdmin && !message.HasBadges("broadcaster"))
            {
                return;
            }

            if (command.requiresMod && !message.HasBadges("broadcaster", "moderator", "global_mod", "staff"))
            {
                return;
            }

            CommandItem item = Data.Commands.Find(c => string.Equals(c.DefName, command.defName));

            if (item != null && UsageService.IsOnCooldown(item, message.Username))
            {
                return;
            }

            if (emojiOverride)
            {
                bool emojis = TkSettings.Emojis;

                TkSettings.Emojis = false;
                ExecuteInternal(command, message);
                TkSettings.Emojis = emojis;
            }
            else
            {
                ExecuteInternal(command, message);
            }

            if (item != null)
            {
                UsageService.RecordUsage(item, message.Username);
            }
        }
コード例 #24
0
        public void SetUp()
        {
            ProjectContext context = new ProjectContext();
            context.Hierarchy = DataMother.GrammarProject().LoadTests();
            context.Library = DataMother.GrammarsProjectRunner().GetLibary();
            UsageService service = new UsageService(context);

            container = new Container(x =>
            {
                x.For<IFixtureNodeView>().Use<StubFixtureNodeView>();
                x.For<IScreen<IFixtureNode>>().Use<FixtureNodePresenter>();
                x.For<UsageService>().Use(service);
            });

            factory = new ScreenFactory(container);

            fixture = context.Library.FixtureFor("Composite");

            subject = new FixtureNodeSubject(fixture);

            thePresenter = subject.CreateScreen(factory).ShouldBeOfType<FixtureNodePresenter>();
            thePresenter.Activate(null);
        }
コード例 #25
0
 public OverageHandler(UsageService usageService, IMetricsClient metricsClient, ILogger <OverageHandler> logger)
 {
     _usageService  = usageService;
     _metricsClient = metricsClient;
     _logger        = logger;
 }