예제 #1
0
        private string GetJobSampleData()
        {
            var metric = new JobUsageStatisticsMetric()
            {
                MachineId      = "sample machineId",
                Product        = base.ApplicationName,
                Version        = base.VersionHelper?.ApplicationVersion?.ToString(),
                Duration       = TimeSpan.Zero.Milliseconds,
                OutputFormat   = OutputFormat.Pdf.ToString(),
                Status         = "Success",
                Attachment     = true,
                Background     = true,
                Dropbox        = true,
                Cover          = true,
                NumberOfCopies = 1,
                Script         = true,
                CustomScript   = true,
                TotalPages     = 1,
                Print          = true,
                Signature      = true,
                Encryption     = true,
                UserToken      = true,
                Ftp            = true,
                Http           = true,
                Smtp           = true,
                Stamp          = true
            };

            return(ConvertToJson(metric));
        }
        public async Task SendUsageStatistics_JobUsageStatsMetricHoldsProperValues()
        {
            var job      = BuildJob();
            var duration = TimeSpan.MaxValue;
            var status   = "test status";
            var product  = _applicationNameProvider.ApplicationNameWithEdition.ToLower().Replace(" ", "_");

            JobUsageStatisticsMetric metric = new JobUsageStatisticsMetric();

            _usageStatisticsManager.EnableUsageStatistics = true;

            _usageStatisticsSender.When(sender => sender.SendAsync(Arg.Any <IUsageMetric>())).Do(info =>
            {
                metric = info.Arg <JobUsageStatisticsMetric>();
            });

            await _usageStatisticsManager.SendUsageStatistics(duration, job, status);

            Assert.AreEqual("JobMetric", metric.EventName);
            Assert.AreEqual(product, metric.Product);
            Assert.AreEqual(_machineIdGenerator.GetMachineId(), metric.MachineId);
            Assert.AreEqual(_versionHelper.ApplicationVersion, metric.Version);
            Assert.AreEqual(OutputFormat.Pdf.ToString(), metric.OutputFormat);
            Assert.AreEqual(status, metric.Status);
            Assert.AreEqual((long)duration.TotalMilliseconds, metric.Duration);
            Assert.AreEqual(job.JobInfo.TotalPages, metric.TotalPages);
            Assert.AreEqual(job.NumberOfCopies, metric.NumberOfCopies);

            Assert.AreEqual(job.Profile.DropboxSettings.Enabled, metric.Dropbox);
            Assert.AreEqual(job.Profile.Ftp.Enabled, metric.Ftp);
            Assert.AreEqual(job.Profile.EmailSmtpSettings.Enabled, metric.Smtp);
            Assert.AreEqual(job.Profile.HttpSettings.Enabled, metric.Http);
            Assert.AreEqual(job.Profile.Printing.Enabled, metric.Print);

            Assert.AreEqual(job.Profile.CoverPage.Enabled, metric.Cover);
            Assert.AreEqual(job.Profile.BackgroundPage.Enabled, metric.Background);
            Assert.AreEqual(job.Profile.AttachmentPage.Enabled, metric.Attachment);
            Assert.AreEqual(job.Profile.Stamping.Enabled, metric.Stamp);

            Assert.AreEqual(job.Profile.PdfSettings.Security.Enabled, metric.Encryption);
            Assert.AreEqual(job.Profile.PdfSettings.Signature.Enabled, metric.Signature);

            Assert.AreEqual(job.Profile.Scripting.Enabled, metric.Script);
            Assert.AreEqual(job.Profile.CustomScript.Enabled, metric.CustomScript);
            Assert.AreEqual(job.Profile.UserTokens.Enabled, metric.UserToken);
        }
        public void SetUp()
        {
            _httpHandler           = Substitute.For <IHttpHandler>();
            _usageStatisticsSender = new UsageStatisticsSender(_httpHandler);

            _serviceUsageStatisticsMetric = new ServiceUsageStatisticsMetric()
            {
                MachineId       = "some machineId",
                OperatingSystem = "some operating system",
                Product         = "some product name",
                TotalDocuments  = 1,
                TotalUsers      = 1,
                ServiceUptime   = TimeSpan.TicksPerMillisecond,
                Version         = "some version number"
            };

            _jobUsageStatisticsMetric = new JobUsageStatisticsMetric()
            {
                Attachment     = true,
                Background     = true,
                Cover          = true,
                Dropbox        = false,
                Duration       = TimeSpan.TicksPerMillisecond,
                Encryption     = false,
                Ftp            = true,
                Http           = true,
                Smtp           = false,
                MachineId      = "some machineId",
                Product        = "some product",
                Mailclient     = true,
                NumberOfCopies = 1,
                OutputFormat   = OutputFormat.Pdf.ToString(),
                Print          = false,
                Script         = false,
                Signature      = false,
                Stamp          = true,
                Status         = "Success",
                TotalPages     = 1,
                UserToken      = false,
                Version        = "some version number"
            };
        }