public InteractiveSqlApplicationTests()
 {
     var sqlExecutor = new SqlExecutor(SqlServerConfiguration.ReadAppSettings());
     var hintGenerator = new HintGenerator();
     m_Application = new InteractiveSqlApplication(m_Logger, sqlExecutor, hintGenerator, CreateCourse());
     m_Application.Start();
 }
 public LessonModule(InteractiveSqlApplication application, SqlExecutor sqlExecutor)
 {
     m_Application = application;
     m_SqlExecutor = sqlExecutor;
     var firstLesson = m_Application.Course.Lessons.First();
     Get["/"] = parameters => Response.AsRedirect(firstLesson.Url());
     Get["/lesson/{lessonName}"] = parameters => RenderLesson(parameters.lessonName);
 }
 public QueryModule(InteractiveSqlApplication application)
 {
     m_Application = application;
     
     Post["/query"] = parameters => {
         var requestBody = RequestBody();
         return Respond(
             requestBody["query"].Value<string>(),
             requestBody["question-identifier"].Value<string>()
         );
     };
 }