コード例 #1
0
 protected EmailJob(MorphicSettings morphicSettings, EmailSettings settings, ILogger <EmailJob> logger, Database db) : base(morphicSettings)
 {
     Db            = db;
     EmailSettings = settings;
     this.logger   = logger;
     Attributes    = new Dictionary <string, string>();
 }
コード例 #2
0
 public Recaptcha(MorphicSettings settings, ILogger <Recaptcha> logger)
 {
     if (settings.Recaptcha3Settings.Key == "" || settings.Recaptcha3Settings.Secret == "")
     {
         throw new RecaptchaException("Missing key or secret");
     }
     this.settings = settings.Recaptcha3Settings;
     this.logger   = logger;
 }
コード例 #3
0
 public UserCleanupJob(
     Database db,
     ILogger <UserCleanupJob> logger,
     MorphicSettings settings)
 {
     this.db       = db;
     this.logger   = logger;
     this.settings = settings;
 }
コード例 #4
0
        public void TestHttpRequestGetServerUri()
        {
            // Bad: No headers and nothing in settings
            var settings = new MorphicSettings()
            {
                ServerUrlPrefix = ""
            };
            var request = new MockHttpRequest();

            request.Headers.Add("foo1", "something1");
            request.Headers.Add("foo2", "something2");
            var uri = request.GetServerUri();

            Assert.Null(uri);

            // GOOD: headers, but no setting: server URL comes from headers
            request = new MockHttpRequest();
            request.Headers.Add("x-forwarded-host", "myhost.example.com");
            request.Headers.Add("x-forwarded-proto", "https");
            request.Headers.Add("x-forwarded-port", "12345");
            uri = request.GetServerUri();
            Assert.Equal("https://myhost.example.com:12345/", uri.ToString());

            // No port from headers
            request = new MockHttpRequest();
            request.Headers.Add("x-forwarded-host", "myhost.example.com");
            request.Headers.Add("x-forwarded-proto", "https");
            uri = request.GetServerUri();
            Assert.Equal("https://myhost.example.com/", uri.ToString());

            // Standard ports from headers
            request = new MockHttpRequest();
            request.Headers.Add("x-forwarded-host", "myhost.example.com");
            request.Headers.Add("x-forwarded-proto", "https");
            request.Headers.Add("x-forwarded-port", "443");
            uri = request.GetServerUri();
            Assert.Equal("https://myhost.example.com/", uri.ToString());

            request = new MockHttpRequest();
            request.Headers.Add("x-forwarded-host", "myhost.example.com");
            request.Headers.Add("x-forwarded-proto", "http");
            request.Headers.Add("x-forwarded-port", "80");
            uri = request.GetServerUri();
            Assert.Equal("http://myhost.example.com/", uri.ToString());
        }
コード例 #5
0
        /// <summary>Create a test database, test http server, and client connection to the test server</summary>
        public EndpointRequestTests()
        {
            Environment.SetEnvironmentVariable("MORPHIC_ENC_KEY_PRIMARY", "TESTKEY:5E4FA583FDFFEEE0C89E91307A6AD56EDF2DADACDE5163C1485F3FBCC166B995");
            Environment.SetEnvironmentVariable("MORPHIC_HASH_SALT_PRIMARY", "SALT1:361e665ef378ab06031806469b7879bd");
            var config       = new ConfigurationBuilder();
            var settingsFile = Environment.GetEnvironmentVariable("APPSETTINGS_FILENAME") ?? "appsettings.Test.json";

            config.AddJsonFile(settingsFile);

            var builder = new WebHostBuilder();

            builder.UseConfiguration(config.Build());
            builder.UseStartup <MockStartup>();
            builder.UseSerilog();
            Server          = new TestServer(builder);
            Client          = Server.CreateClient();
            Database        = Server.Services.GetService(typeof(Database)) as Database;
            MorphicSettings = Server.Services.GetService(typeof(MorphicSettings)) as MorphicSettings;
            Debug.Assert(MorphicSettings != null, nameof(MorphicSettings) + " != null");
            JobClient = Server.Services.GetService((typeof(IBackgroundJobClient))) as MockBackgroundJobClient;
            Debug.Assert(JobClient != null, nameof(JobClient) + " != null");
        }
コード例 #6
0
 public EmailVerificationEmail(MorphicSettings morphicSettings, EmailSettings settings, ILogger <EmailVerificationEmail> logger, Database db) : base(morphicSettings, settings, logger, db)
 {
     EmailType = EmailConstants.EmailTypes.WelcomeEmailValidation;
 }
 public UnknownEmailPasswordResetEmail(MorphicSettings morphicSettings, EmailSettings settings, ILogger <EmailVerificationEmail> logger, Database db) : base(morphicSettings, settings, logger, db)
 {
     EmailType = EmailConstants.EmailTypes.PasswordResetUnknownEmail;
 }
コード例 #8
0
 public InvitationEmail(MorphicSettings morphicSettings, EmailSettings settings, ILogger <EmailJob> logger, Database db) : base(morphicSettings, settings, logger, db)
 {
     EmailType = EmailConstants.EmailTypes.CommunityInvitation;
 }
コード例 #9
0
 public EmailNotVerifiedPasswordResetEmail(MorphicSettings morphicSettings, EmailSettings settings, ILogger <EmailVerificationEmail> logger, Database db) : base(morphicSettings, settings, logger, db)
 {
     EmailType = EmailConstants.EmailTypes.PasswordResetEmailNotValidated;
 }
コード例 #10
0
 public ChangePasswordEmail(MorphicSettings morphicSettings, EmailSettings settings, ILogger <EmailJob> logger, Database db) : base(morphicSettings, settings, logger, db)
 {
     EmailType = EmailConstants.EmailTypes.ChangePasswordEmail;
 }
コード例 #11
0
 public BackgroundJob(MorphicSettings settings)
 {
     this.settings = settings;
 }
コード例 #12
0
 public SignupConfirmationEmail(MorphicSettings morphicSettings, EmailSettings settings,
                                ILogger <SignupConfirmationEmail> logger, Database db) : base(morphicSettings, settings, logger, db)
 {
     this.EmailType = EmailConstants.EmailTypes.SignupConfirmation;
 }