Permalink
Browse files

Merge commit '27a3d055f6eedf823e7319860663c33d582d19df'

  • Loading branch information...
2 parents 58f6657 + 27a3d05 commit 4c26bdf4b62fae0a6de5417302639b9b3479c379 CSL committed Mar 11, 2017
Showing with 4,741 additions and 3,866 deletions.
  1. +87 −0 CHANGELOG.md
  2. +1 −1 README.md
  3. +2 −1 benchmarks/src/test/scala/BUILD
  4. +12 −10 benchmarks/src/test/scala/com/twitter/finatra/http/benchmarks/ControllerBenchmark.scala
  5. +25 −17 build.sbt
  6. +3 −2 doc/src/octopress/source/_posts/2016-02-04-announcing-the-release-of-finatra-2-dot-1-3.markdown
  7. +4 −3 doc/src/octopress/source/_posts/2016-02-25-finatra-2-dot-1-4-is-now-available.markdown
  8. +3 −2 doc/src/octopress/source/_posts/2016-03-15-finatra-v2-dot-1-5-is-now-available.markdown
  9. +4 −2 ...ctopress/source/_posts/2016-04-26-announcing-our-final-scala-2-dot-10-and-java-7-release.markdown
  10. +3 −2 doc/src/octopress/source/_posts/2016-04-28-announcing-the-release-of-finatra-v2-dot-1-6.markdown
  11. +5 −3 doc/src/octopress/source/_posts/2016-06-30-announcing-finatra-v2-dot-2-0.markdown
  12. +3 −2 doc/src/octopress/source/_posts/2016-09-21-announcing-the-release-of-finatra-2-dot-4-0.markdown
  13. +3 −2 ...octopress/source/_posts/2016-10-13-finatra-v2-dot-5-0-has-been-released-to-maven-central.markdown
  14. +7 −6 .../source/_posts/2016-11-28-announcing-release-2-dot-6-0-and-techempower-benchmark-results.markdown
  15. +6 −5 doc/src/octopress/source/_posts/2017-01-13-finatra-2-dot-7-0-released.markdown
  16. +114 −0 doc/src/octopress/source/_posts/2017-02-06-announcing-the-finatra-2-dot-8-0-release.markdown
  17. +1 −1 doc/src/octopress/source/index.html
  18. +3 −3 doc/src/sphinx/user-guide/_templates/sidebarintro.html
  19. +1 −1 doc/src/sphinx/user-guide/files/index.rst
  20. +2 −2 doc/src/sphinx/user-guide/getting-started/binding_annotations.rst
  21. +81 −25 doc/src/sphinx/user-guide/getting-started/flags.rst
  22. +110 −0 doc/src/sphinx/user-guide/getting-started/framework.rst
  23. +1 −1 doc/src/sphinx/user-guide/getting-started/futures.rst
  24. +6 −2 doc/src/sphinx/user-guide/getting-started/lifecycle.rst
  25. +78 −1 doc/src/sphinx/user-guide/getting-started/modules.rst
  26. +4 −4 doc/src/sphinx/user-guide/http/controllers.rst
  27. +1 −1 doc/src/sphinx/user-guide/http/requests.rst
  28. +59 −10 doc/src/sphinx/user-guide/http/responses.rst
  29. +7 −5 doc/src/sphinx/user-guide/index.rst
  30. +2 −2 doc/src/sphinx/user-guide/json/routing.rst
  31. +7 −6 doc/src/sphinx/user-guide/logging/index.rst
  32. +50 −49 doc/src/sphinx/user-guide/testing/index.rst
  33. +3 −3 doc/src/sphinx/user-guide/thrift/controllers.rst
  34. +6 −4 doc/src/sphinx/user-guide/thrift/warmup.rst
  35. +3 −3 examples/benchmark-server/README.md
  36. +2 −2 examples/benchmark-server/build.sbt
  37. +0 −1 examples/benchmark-server/project/assembly.sbt
  38. +2 −0 examples/benchmark-server/project/plugins.sbt
  39. +1 −1 examples/benchmark-server/src/main/scala/BUILD
  40. +2 −1 examples/benchmark-server/src/test/scala/BUILD
  41. +2 −5 examples/build-all.sh
  42. +1 −1 examples/hello-world-heroku/README.md
  43. +2 −2 examples/hello-world-heroku/build.sbt
  44. +2 −1 examples/hello-world-heroku/src/main/scala/BUILD
  45. +2 −1 examples/hello-world-heroku/src/test/scala/BUILD
  46. +3 −3 examples/hello-world/README.md
  47. +2 −2 examples/hello-world/build.sbt
  48. +3 −3 examples/hello-world/pom.xml
  49. +2 −1 examples/hello-world/src/main/scala/BUILD
  50. +2 −1 examples/hello-world/src/test/scala/BUILD
  51. +3 −3 examples/java-http-server/README.md
  52. +2 −2 examples/java-http-server/build.sbt
  53. +3 −2 examples/java-http-server/src/main/java/BUILD
  54. +2 −1 examples/java-http-server/src/test/java/BUILD
  55. +3 −3 examples/java-server/README.md
  56. +2 −2 examples/java-server/build.sbt
  57. +2 −1 examples/java-server/src/main/java/BUILD
  58. +2 −1 examples/java-server/src/test/java/BUILD
  59. +3 −3 examples/java-thrift-server/README.md
  60. +2 −2 examples/java-thrift-server/build.sbt
  61. +3 −2 examples/java-thrift-server/thrift-example-server/src/main/java/BUILD
  62. +3 −2 examples/java-thrift-server/thrift-example-server/src/test/java/BUILD
  63. +3 −3 examples/streaming-example/README.md
  64. +2 −2 examples/streaming-example/build.sbt
  65. +2 −1 examples/streaming-example/src/main/scala/BUILD
  66. +2 −1 examples/streaming-example/src/test/scala/BUILD
  67. +3 −3 examples/thrift-server/README.md
  68. +2 −2 examples/thrift-server/build.sbt
  69. +2 −1 examples/thrift-server/thrift-example-server/src/main/scala/BUILD
  70. +2 −1 examples/thrift-server/thrift-example-server/src/test/scala/BUILD
  71. +1 −1 examples/tiny-url/README.md
  72. +2 −2 examples/tiny-url/build.sbt
  73. +2 −1 examples/tiny-url/src/main/scala/BUILD
  74. +3 −2 examples/tiny-url/src/test/scala/BUILD
  75. +3 −3 examples/twitter-clone/README.md
  76. +2 −2 examples/twitter-clone/build.sbt
  77. +2 −1 examples/twitter-clone/src/main/scala/BUILD
  78. +2 −1 examples/twitter-clone/src/test/scala/BUILD
  79. +7 −6 examples/twitter-clone/src/test/scala/finatra/quickstart/TwitterCloneFeatureTest.scala
  80. +3 −3 examples/web-dashboard/README.md
  81. +2 −2 examples/web-dashboard/build.sbt
  82. +3 −2 examples/web-dashboard/src/main/scala/BUILD
  83. +2 −1 examples/web-dashboard/src/test/scala/BUILD
  84. +2 −2 http/src/main/scala/BUILD
  85. +19 −19 http/src/main/scala/com/twitter/finatra/http/request/MediaRange.scala
  86. +3 −2 http/src/test/java/BUILD
  87. +3 −3 ...java/com/twitter/finatra/http/tests/integration/doeverything/main/DoEverythingJavaController.java
  88. +4 −4 ...m/twitter/finatra/http/tests/integration/doeverything/test/DoEverythingJavaServerFeatureTest.java
  89. +5 −3 http/src/test/scala/BUILD
  90. +30 −1 http/src/test/scala/com/twitter/finatra/http/EmbeddedHttpServer.scala
  91. +38 −38 http/src/test/scala/com/twitter/finatra/http/tests/conversions/FutureHttpConversionsTest.scala
  92. +51 −53 http/src/test/scala/com/twitter/finatra/http/tests/conversions/OptionHttpConversionsTest.scala
  93. +5 −4 http/src/test/scala/com/twitter/finatra/http/{ → tests}/filters/HttpResponseFilterTest.scala
  94. +3 −3 http/src/test/scala/com/twitter/finatra/http/tests/filters/StatsFilterTest.scala
  95. +17 −21 ...tter/finatra/http/tests/integration/darktraffic/test/DarkTrafficCanonicalResourceHeaderTest.scala
  96. +73 −73 ...om/twitter/finatra/http/tests/integration/darktraffic/test/DarkTrafficTestServerFeatureTest.scala
  97. +0 −5 .../src/test/scala/com/twitter/finatra/http/tests/integration/deprecated/main/DeprecatedServer.scala
  98. +0 −5 http/src/test/scala/com/twitter/finatra/http/tests/integration/deprecated/test/DeprecatedTest.scala
  99. +0 −13 ...twitter/finatra/http/tests/integration/doeverything/main/controllers/DoEverythingController.scala
  100. +1 −1 ...ala/com/twitter/finatra/http/tests/integration/doeverything/main/modules/DoEverythingModule.scala
  101. +1,274 −1,319 .../com/twitter/finatra/http/tests/integration/doeverything/test/DoEverythingServerFeatureTest.scala
  102. +4 −6 .../com/twitter/finatra/http/tests/integration/doeverything/test/DoEverythingServerStartupTest.scala
  103. +106 −109 .../finatra/http/tests/integration/doeverything/test/LocalDocRootDoEverythingServerFeatureTest.scala
  104. +88 −91 ...atra/http/tests/integration/doeverything/test/OverlappingRootsDoEverythingServerFeatureTest.scala
  105. +8 −8 ...test/scala/com/twitter/finatra/http/tests/integration/fileserver/LocalFileServerFeatureTest.scala
  106. +8 −11 ...m/twitter/finatra/http/tests/integration/messagebody/test/GreetingControllerIntegrationTest.scala
  107. +3 −3 ...est/scala/com/twitter/finatra/http/tests/integration/multiserver/test/Add1ServerFeatureTest.scala
  108. +3 −3 ...est/scala/com/twitter/finatra/http/tests/integration/multiserver/test/Add2ServerFeatureTest.scala
  109. +3 −3 ...st/scala/com/twitter/finatra/http/tests/integration/multiserver/test/MultiServerFeatureTest.scala
  110. +3 −3 ...est/scala/com/twitter/finatra/http/tests/integration/pools/test/PooledServerIntegrationTest.scala
  111. +3 −3 ...ts/integration/requestscope/{FinagleRequestScopeFilterTest.scala → RequestScopeFeatureTest.scala}
  112. +224 −198 .../src/test/scala/com/twitter/finatra/http/tests/integration/routing/HttpServerAdminRouteTest.scala
  113. +8 −8 http/src/test/scala/com/twitter/finatra/http/tests/integration/routing/RoutingIntegrationTest.scala
  114. +4 −4 ...ala/com/twitter/finatra/http/tests/integration/startup/BaseHttpServerStartupIntegrationTest.scala
  115. +5 −5 ...t/scala/com/twitter/finatra/http/tests/integration/startup/HttpServerStartupIntegrationTest.scala
  116. +25 −25 ...om/twitter/finatra/http/tests/integration/tweetexample/test/TweetsControllerIntegrationTest.scala
  117. +11 −13 http/src/test/scala/com/twitter/finatra/http/tests/internal/exceptions/ExceptionManagerTest.scala
  118. +39 −39 .../com/twitter/finatra/http/tests/internal/exceptions/ThrowableExceptionMapperIntegrationTest.scala
  119. +10 −14 ...com/twitter/finatra/http/tests/internal/marshalling/mustache/MustacheTemplateNameLookupTest.scala
  120. +43 −41 .../src/test/scala/com/twitter/finatra/http/tests/marshalling/CallbackConverterIntegrationTest.scala
  121. +12 −7 http/src/test/scala/com/twitter/finatra/http/tests/marshalling/MessageBodyManagerTest.scala
  122. +119 −122 http/src/test/scala/com/twitter/finatra/http/tests/request/MediaRangeTest.scala
  123. +162 −165 http/src/test/scala/com/twitter/finatra/http/tests/request/MultiParamsTest.scala
  124. +50 −55 http/src/test/scala/com/twitter/finatra/http/tests/request/RequestUtilsTest.scala
  125. +6 −6 http/src/test/scala/com/twitter/finatra/http/tests/request/RouteParamMapTest.scala
  126. +81 −84 http/src/test/scala/com/twitter/finatra/http/tests/response/ResponseBuilderTest.scala
  127. +7 −9 http/src/test/scala/com/twitter/finatra/http/tests/routing/FileResolverTest.scala
  128. +46 −48 http/src/test/scala/com/twitter/finatra/http/tests/routing/PathPatternTest.scala
  129. +15 −15 http/src/test/scala/com/twitter/finatra/http/tests/routing/RoutesTest.scala
  130. +13 −15 http/src/test/scala/com/twitter/finatra/http/tests/server/FinatraBaseHttpServerIntegrationTest.scala
  131. +2 −1 httpclient/src/main/scala/BUILD
  132. +4 −2 httpclient/src/test/scala/BUILD
  133. +14 −14 httpclient/src/test/scala/com/twitter/finatra/httpclient/HttpClientIntegrationTest.scala
  134. +6 −4 httpclient/src/test/scala/com/twitter/finatra/httpclient/HttpClientStartupIntegrationTest.scala
  135. +6 −6 httpclient/src/test/scala/com/twitter/finatra/httpclient/InMemoryHttpServiceTest.scala
  136. +15 −15 httpclient/src/test/scala/com/twitter/finatra/httpclient/RequestBuilderTest.scala
  137. +2 −1 inject-thrift-client-http-mapper/src/main/scala/BUILD
  138. +2 −1 inject-thrift-client-http-mapper/src/test/scala/BUILD
  139. +1 −1 ...apper/src/test/scala/com/twitter/finatra/multiserver/Add1HttpServer/AdderThriftClientModule.scala
  140. +8 −6 ...lient-http-mapper/src/test/scala/com/twitter/finatra/multiserver/test/Add1ServerFeatureTest.scala
  141. +7 −4 ...lient-http-mapper/src/test/scala/com/twitter/finatra/multiserver/test/Add2ServerFeatureTest.scala
  142. +40 −43 ...r/src/test/scala/com/twitter/finatra/multiserver/test/DoEverythingCombinedServerFeatureTest.scala
  143. +6 −6 ...ient-http-mapper/src/test/scala/com/twitter/finatra/multiserver/test/MultiServerFeatureTest.scala
  144. +2 −1 inject/inject-app/src/main/scala/BUILD
  145. +2 −2 inject/inject-app/src/main/scala/com/twitter/inject/app/App.scala
  146. +4 −2 inject/inject-app/src/test/scala/BUILD
  147. +32 −3 inject/inject-app/src/test/scala/com/twitter/inject/app/EmbeddedApp.scala
  148. +0 −12 inject/inject-app/src/test/scala/com/twitter/inject/app/InjectionServiceModule.scala
  149. +140 −17 inject/inject-app/src/test/scala/com/twitter/inject/app/TestInjector.scala
  150. +22 −0 inject/inject-app/src/test/scala/com/twitter/inject/app/modules.scala
  151. +4 −4 inject/inject-app/src/test/scala/com/twitter/inject/app/tests/SampleAppIntegrationTest.scala
  152. +67 −26 inject/inject-app/src/test/scala/com/twitter/inject/app/tests/TestInjectorTest.scala
  153. +14 −13 inject/inject-app/src/test/scala/com/twitter/inject/app/tests/internal/FlagsModuleTest.scala
  154. +6 −6 .../inject-app/src/test/scala/com/twitter/inject/app/tests/internal/InternalAppIntegrationTest.scala
  155. +3 −1 inject/inject-core/src/main/scala/BUILD
  156. +0 −11 inject/inject-core/src/main/scala/com/twitter/app/FlagFactory.scala
  157. +6 −6 inject/inject-core/src/main/scala/com/twitter/inject/Injector.scala
  158. +1 −0 inject/inject-core/src/main/scala/com/twitter/inject/Logger.scala
  159. +3 −56 inject/inject-core/src/main/scala/com/twitter/inject/Logging.scala
  160. +53 −18 inject/inject-core/src/main/scala/com/twitter/inject/TwitterModule.scala
  161. +3 −3 inject/inject-core/src/main/scala/com/twitter/inject/TwitterModuleFlags.scala
  162. +31 −4 inject/inject-core/src/main/scala/com/twitter/inject/TypeUtils.scala
  163. +4 −2 inject/inject-core/src/test/scala/BUILD
  164. +6 −4 inject/inject-core/src/test/scala/com/twitter/inject/IntegrationTest.scala
  165. +1 −0 inject/inject-core/src/test/scala/com/twitter/inject/IntegrationTestMixin.scala
  166. +3 −0 inject/inject-core/src/test/scala/com/twitter/inject/Test.scala
  167. +3 −0 inject/inject-core/src/test/scala/com/twitter/inject/WordSpecTest.scala
  168. +0 −31 inject/inject-core/src/test/scala/com/twitter/inject/tests/FlagFactoryTest.scala
  169. +4 −9 inject/inject-core/src/test/scala/com/twitter/inject/tests/LoggingTest.scala
  170. +7 −7 inject/inject-core/src/test/scala/com/twitter/inject/tests/TwitterModuleTest.scala
  171. +1 −1 inject/inject-core/src/test/scala/com/twitter/inject/tests/module/DoEverythingModule.scala
  172. +2 −1 inject/inject-modules/src/main/scala/BUILD
  173. +4 −2 inject/inject-modules/src/test/scala/BUILD
  174. +4 −4 inject/inject-modules/src/test/scala/com/twitter/inject/modules/tests/StatsReceiverModuleTest.scala
  175. +2 −1 inject/inject-request-scope/src/main/scala/BUILD
  176. +2 −1 inject/inject-request-scope/src/test/scala/BUILD
  177. +8 −4 ...ope/src/test/scala/com/twitter/inject/requestscope/FinagleRequestScopeFilterIntegrationTest.scala
  178. +7 −7 ...inject-request-scope/src/test/scala/com/twitter/inject/requestscope/FinagleRequestScopeTest.scala
  179. +3 −4 ...quest-scope/src/test/scala/com/twitter/inject/requestscope/UnseededFinagleScopeProviderTest.scala
  180. +2 −1 inject/inject-server/src/main/scala/BUILD
  181. +4 −2 inject/inject-server/src/test/scala/BUILD
  182. +45 −7 inject/inject-server/src/test/scala/com/twitter/inject/server/EmbeddedTwitterServer.scala
  183. +14 −16 ...-server/src/test/scala/com/twitter/inject/server/tests/EmbeddedTwitterServerIntegrationTest.scala
  184. +6 −8 inject/inject-server/src/test/scala/com/twitter/inject/server/tests/FeatureTestTest.scala
  185. +37 −40 inject/inject-server/src/test/scala/com/twitter/inject/server/tests/PortUtilsTest.scala
  186. +6 −8 inject/inject-server/src/test/scala/com/twitter/inject/server/tests/PortsTest.scala
  187. +94 −97 inject/inject-server/src/test/scala/com/twitter/inject/server/tests/StartupIntegrationTest.scala
  188. +7 −10 inject/inject-server/src/test/scala/com/twitter/server/tests/FinagleBuildRevisionTest.scala
  189. +4 −1 inject/inject-slf4j/src/main/scala/BUILD
  190. +2 −1 inject/inject-thrift-client/src/main/scala/BUILD
  191. +2 −2 inject/inject-thrift-client/src/main/scala/com/twitter/inject/thrift/AndThenService.scala
  192. +2 −2 ...ct-thrift-client/src/main/scala/com/twitter/inject/thrift/filters/ThriftClientFilterBuilder.scala
  193. +9 −9 ...ject-thrift-client/src/main/scala/com/twitter/inject/thrift/filters/ThriftClientFilterChain.scala
  194. +3 −3 ...t-thrift-client/src/main/scala/com/twitter/inject/thrift/internal/DefaultAndThenServiceImpl.scala
  195. +3 −7 ...lient/src/main/scala/com/twitter/inject/thrift/internal/filters/ThriftClientExceptionFilter.scala
  196. +9 −7 ...t-thrift-client/src/main/scala/com/twitter/inject/thrift/modules/FilteredThriftClientModule.scala
  197. +3 −1 inject/inject-thrift-client/src/test/scala/BUILD
  198. +14 −16 inject/inject-thrift-client/src/test/scala/com/twitter/inject/thrift/ThriftClientExceptionTest.scala
  199. +13 −15 .../src/test/scala/com/twitter/inject/thrift/filtered_integration/GreeterHttpServerFeatureTest.scala
  200. +2 −2 .../scala/com/twitter/inject/thrift/filtered_integration/http_server/GreeterThriftClientModule.scala
  201. +2 −3 ...cala/com/twitter/inject/thrift/filtered_integration/http_server/HiLoggingThriftClientFilter.scala
  202. +2 −2 ...rc/test/scala/com/twitter/inject/thrift/filtered_integration/http_server/ThriftClientFilter.scala
  203. +25 −27 ...hrift-client/src/test/scala/com/twitter/inject/thrift/integration/EchoHttpServerFeatureTest.scala
  204. +35 −38 .../scala/com/twitter/inject/thrift/internal/DoEverythingFilteredThriftClientModuleFeatureTest.scala
  205. +12 −8 ...ient/src/test/scala/com/twitter/inject/thrift/internal/FilteredThriftClientModuleNonMuxTest.scala
  206. +9 −11 ...t-client/src/test/scala/com/twitter/inject/thrift/internal/RequestLoggingThriftClientFilter.scala
  207. +12 −6 ...hrift-client/src/test/scala/com/twitter/inject/thrift/internal/ThriftClientModuleNonMuxTest.scala
  208. +3 −14 inject/inject-thrift/src/main/scala/com/twitter/inject/exceptions/PossiblyRetryable.scala
  209. +3 −2 inject/inject-thrift/src/test/scala/BUILD
  210. +12 −51 inject/inject-thrift/src/test/scala/com/twitter/inject/tests/exceptions/PossiblyRetryableTest.scala
  211. +16 −21 ...ct/inject-thrift/src/test/scala/com/twitter/inject/tests/thrift/utils/ThriftMethodUtilsTest.scala
  212. +2 −1 inject/inject-utils/src/main/scala/BUILD
  213. +3 −3 inject/inject-utils/src/main/scala/com/twitter/inject/conversions/future.scala
  214. +2 −1 inject/inject-utils/src/test/scala/BUILD
  215. +2 −1 jackson/src/main/scala/BUILD
  216. +4 −4 jackson/src/main/scala/com/twitter/finatra/json/FinatraObjectMapper.scala
  217. +3 −4 jackson/src/main/scala/com/twitter/finatra/json/JsonLogging.scala
  218. +6 −6 ...on/src/main/scala/com/twitter/finatra/json/internal/caseclass/reflection/CaseClassSigParser.scala
  219. +14 −1 jackson/src/main/scala/com/twitter/finatra/json/internal/caseclass/reflection/ScalaType.scala
  220. +4 −2 jackson/src/test/scala/BUILD
  221. +1 −2 jackson/src/test/scala/com/twitter/finatra/json/JsonDiff.scala
  222. +41 −4 jackson/src/test/scala/com/twitter/finatra/json/tests/FinatraObjectMapperTest.scala
  223. +15 −0 jackson/src/test/scala/com/twitter/finatra/json/tests/internal/ExampleCaseClasses.scala
  224. +12 −0 .../scala/com/twitter/finatra/json/tests/internal/caseclass/validation/CaseClassValidationTest.scala
  225. +1 −1 project/plugins.sbt
  226. +6 −2 pushsite.bash
  227. +3 −0 slf4j/src/main/scala/BUILD
  228. +2 −1 slf4j/src/test/scala/BUILD
  229. +2 −2 thrift/src/main/scala/BUILD
  230. +13 −5 thrift/src/main/scala/com/twitter/finatra/thrift/Controller.scala
  231. +2 −1 thrift/src/main/scala/com/twitter/finatra/thrift/modules/DarkTrafficFilterModule.scala
  232. +7 −7 thrift/src/main/scala/com/twitter/finatra/thrift/routing/ThriftWarmup.scala
  233. +4 −3 thrift/src/test/java/BUILD
  234. +4 −10 thrift/src/test/scala/BUILD
  235. +30 −1 thrift/src/test/scala/com/twitter/finatra/thrift/EmbeddedThriftServer.scala
  236. +1 −0 thrift/src/test/scala/com/twitter/finatra/thrift/ThriftClient.scala
  237. +8 −8 thrift/src/test/scala/com/twitter/finatra/thrift/tests/DoEverythingThriftServerFeatureTest.scala
  238. +4 −6 thrift/src/test/scala/com/twitter/finatra/thrift/tests/DoEverythingThriftServerStartupTest.scala
  239. +7 −7 ...t/src/test/scala/com/twitter/finatra/thrift/tests/EmbeddedThriftServerControllerFeatureTest.scala
  240. +23 −0 thrift/src/test/scala/com/twitter/finatra/thrift/tests/InheritanceServerFeatureTest.scala
  241. +6 −6 thrift/src/test/scala/com/twitter/finatra/thrift/tests/MultiServerDarkTrafficFeatureTest.scala
  242. +3 −3 thrift/src/test/scala/com/twitter/finatra/thrift/tests/NonInjectionThriftServerFeatureTest.scala
  243. +5 −5 thrift/src/test/scala/com/twitter/finatra/thrift/tests/ThriftServerStartupFeatureTest.scala
  244. +3 −3 ...rc/test/scala/com/twitter/finatra/thrift/tests/doeverything/DoEverythingThriftWarmupHandler.scala
  245. +16 −0 thrift/src/test/scala/com/twitter/finatra/thrift/tests/inheritance/InheritanceServer.scala
  246. +19 −0 .../src/test/scala/com/twitter/finatra/thrift/tests/inheritance/controllers/ServiceBController.scala
  247. +7 −0 thrift/src/test/thrift/serviceA.thrift
  248. +9 −0 thrift/src/test/thrift/serviceB.thrift
  249. +2 −1 utils/src/main/scala/BUILD
  250. +4 −2 utils/src/test/scala/BUILD
  251. +2 −2 utils/src/test/scala/com/twitter/finatra/tests/utils/CredentialsIntegrationTest.scala
  252. +4 −2 utils/src/test/scala/com/twitter/finatra/tests/utils/InMemoryCredentialsIntegrationTest.scala
  253. +2 −1 utils/src/test/scala/com/twitter/finatra/tests/utils/LocalFilesystemCredentialsIntegrationTest.scala
View
@@ -12,6 +12,90 @@ All notable changes to this project will be documented in this file. Note that `
### Closed
+## [finatra-2.9.0](https://github.com/twitter/finatra/tree/finatra-2.9.0) (2017-03-10)
+
+### Added
+
+### Changed
+
+* inject-core: (BREAKING API CHANGE) Allow for binding of higher-kinded types when testing.
+ Deprecated `@Bind` mechanism for replacing bound types in an object graph. Now instead of
+ using `@Bind` like this:
+
+ ```
+ class DarkTrafficCanonicalResourceHeaderTest
+ extends FeatureTest
+ with Mockito {
+
+ @Bind
+ @DarkTrafficService
+ val darkTrafficService: Option[Service[Request, Response]] =
+ Some(smartMock[Service[Request, Response]])
+
+ /* mock request */
+ darkTrafficService.get.apply(any[Request]).returns(Future.value(smartMock[Response]))
+
+ override val server = new EmbeddedHttpServer(
+ twitterServer = new DarkTrafficTestServer)
+
+ test("DarkTrafficServer#has Canonical-Resource header correctly set") {
+ ...
+ ```
+
+ Users can instead do:
+
+ ```
+ class DarkTrafficCanonicalResourceHeaderTest
+ extends FeatureTest
+ with Mockito {
+
+ val darkTrafficService: Option[Service[Request, Response]] =
+ Some(smartMock[Service[Request, Response]])
+
+ /* mock request */
+ darkTrafficService.get.apply(any[Request]).returns(Future.value(smartMock[Response]))
+
+ override val server = new EmbeddedHttpServer(
+ twitterServer = new DarkTrafficTestServer)
+ .bind[Option[Service[Request, Response]], DarkTrafficService](darkTrafficService)
+
+ test("DarkTrafficServer#has Canonical-Resource header correctly set") {
+ ...
+ ```
+
+ This allows for more flexibility (as the binding is now per object graph, rather
+ than per test files) and is less susceptible to errors due to incorrect usage.
+
+ The breaking API change is due to adding this support in the TestInjector, it is
+ now required that users call the `TestInjector#create` method in order to build
+ the injector and that this is done *after* calls to `TestInjector#bind`. Previously,
+ an `Injector` was directly returned from `TestInjector#apply` which is no longer true,
+ thus it may look like your IntegrationTests are broken as you now need to add a
+ call to `TestInjector#create`.
+
+ Additionally, this change updates all of the framework tests in the inject modules to
+ the FunSuite testing style from the deprecated WordSpec testing style. ``RB_ID=910011``
+
+* finatra-thrift: Update framework tests to FunSuite ScalaTest testing style. ``RB_ID=910262``
+
+* inject-core: Move Logging from grizzled-slf4j to util/util-slf4j-api.
+ `c.t.inject.Logger` is now deprecated in favor of `c.t.util.logging.Logger`
+ in util. ``DIFF_ID=D29713``
+
+* finatra-httpclient: Update framework tests to FunSuite ScalaTest testing style. ``RB_ID=909526``
+
+* finatra-http: Update framework tests to FunSuite ScalaTest testing style. ``RB_ID=909349``
+
+* finatra: Bump guava to 19.0. ``RB_ID=907807``
+
+* inject-thrift-client: Various APIs have changed to work with `ThriftMethod.SuccessType`
+ instead of `ThriftMethod.Result`. See `ThriftClientFilterChain`, `Controller`,
+ `ThriftWarmup`, `PossiblyRetryable`. ``RB_ID=908846``
+
+### Fixed
+
+### Closed
+
## [finatra-2.8.0](https://github.com/twitter/finatra/tree/finatra-2.8.0) (2017-02-03)
### Added
@@ -37,6 +121,9 @@ All notable changes to this project will be documented in this file. Note that `
### Changed
+* inject-core: Add back JUNitRUnner to `c.t.inject.Test` and `c.t.inject.WordSpecTest`
+ so that tests can be run when building with maven. ``RB_ID=909789``
+
* finatra-http: Allow routes which begin with "/admin" to be exposed on the external
interface and routes which DO NOT begin with "/admin" to be exposed on the admin interface.
NOTE: routes which begin with "/admin/finatra" will continue to be on the admin interface
View
@@ -94,7 +94,7 @@ class ExampleServer extends ThriftServer {
## Example Projects
-Finatra includes working examples which highlight various features of the framework and include tests. In the [develop branch](https://github.com/twitter/finatra/tree/develop/examples) these examples are included in the root [sbt][sbt] build and are thus buildable as part of the entire project. In the [master branch](https://github.com/twitter/finatra/tree/master/examples) (or a [release branch](https://github.com/twitter/finatra/tree/finatra-2.8.0/examples)) these examples can be built using their invididual [sbt][sbt] (or [Maven][maven]) build files.
+Finatra includes working examples which highlight various features of the framework and include tests. In the [develop branch](https://github.com/twitter/finatra/tree/develop/examples) these examples are included in the root [sbt][sbt] build and are thus buildable as part of the entire project. In the [master branch](https://github.com/twitter/finatra/tree/master/examples) (or a [release branch](https://github.com/twitter/finatra/tree/finatra-2.9.0/examples)) these examples can be built using their invididual [sbt][sbt] (or [Maven][maven]) build files.
Please take a look through the [examples](/examples) for more detailed information on features, testing, and building with sbt (or Maven).
@@ -9,9 +9,9 @@ junit_tests(
'3rdparty/jvm/com/google/inject:guice',
'3rdparty/jvm/joda-time:joda-time',
'3rdparty/jvm/net/codingwell:scala-guice',
- '3rdparty/jvm/org/clapper:grizzled-slf4j',
'3rdparty/jvm/org/openjdk/jmh:jmh-core',
'3rdparty/jvm/org/scalatest:scalatest',
+ '3rdparty/jvm/org/slf4j:slf4j-api',
'3rdparty/jvm/org/slf4j:slf4j-simple',
'finagle/finagle-core/src/main/scala:scala',
'finagle/finagle-http/src/main/scala:scala',
@@ -25,6 +25,7 @@ junit_tests(
'finatra/jackson/src/main/scala:scala',
'twitter-server/src/main/scala:scala',
'util/util-core/src/main/scala:scala',
+ 'util/util-slf4j-api/src/main/scala',
'util/util-stats/src/main/scala:scala',
],
fatal_warnings=True,
@@ -15,16 +15,18 @@ import org.openjdk.jmh.annotations.{Benchmark, Scope, State}
@State(Scope.Thread)
class ControllerBenchmark {
- val injector = TestInjector(
- flags = Map(
- "http.response.charset.enabled" -> "false"),
- modules = Seq(
- ExceptionManagerModule,
- MessageBodyModule,
- FinatraJacksonModule,
- MustacheModule,
- DocRootModule,
- NullStatsReceiverModule))
+ val injector =
+ TestInjector(
+ flags = Map(
+ "http.response.charset.enabled" -> "false"),
+ modules = Seq(
+ ExceptionManagerModule,
+ MessageBodyModule,
+ FinatraJacksonModule,
+ MustacheModule,
+ DocRootModule,
+ NullStatsReceiverModule))
+ .create
val httpRouter = injector.instance[HttpRouter]
View
@@ -5,11 +5,12 @@ import scoverage.ScoverageKeys
concurrentRestrictions in Global += Tags.limit(Tags.Test, 1)
-lazy val projectVersion = "2.8.0"
+lazy val projectVersion = "2.9.0"
lazy val buildSettings = Seq(
version := projectVersion,
- scalaVersion := "2.11.8",
+ scalaVersion := "2.12.1",
+ crossScalaVersions := Seq("2.11.8", "2.12.1"),
ivyScala := ivyScala.value.map(_.copy(overrideScalaVersion = true)),
fork in Test := true,
javaOptions in Test ++= travisTestJavaOptions
@@ -20,7 +21,7 @@ def travisTestJavaOptions: Seq[String] = {
val travisBuild = sys.env.getOrElse("TRAVIS", "false").toBoolean
if (travisBuild) {
Seq(
- "-Dorg.slf4j.simpleLogger.defaultLogLevel=error",
+ "-Dorg.slf4j.simpleLogger.defaultLogLevel=error",
"-Dcom.twitter.inject.test.logging.disabled",
// Needed to avoid cryptic EOFException crashes in forked tests
// in Travis with `sudo: false`.
@@ -38,18 +39,18 @@ lazy val versions = new {
val suffix = if (branch == "master" || travisBranch == "master") "" else "-SNAPSHOT"
// Use SNAPSHOT versions of Twitter libraries on non-master branches
- val finagleVersion = "6.42.0" + suffix
- val scroogeVersion = "4.14.0" + suffix
- val twitterserverVersion = "1.27.0" + suffix
- val utilVersion = "6.41.0" + suffix
+ val finagleVersion = "6.43.0" + suffix
+ val scroogeVersion = "4.15.0" + suffix
+ val twitterserverVersion = "1.28.0" + suffix
+ val utilVersion = "6.42.0" + suffix
- val bijectionVersion = "0.9.4"
+ val bijectionVersion = "0.9.5"
val commonsCodec = "1.9"
val commonsFileupload = "1.3.1"
val commonsIo = "2.4"
val commonsLang = "2.6"
val grizzled = "1.3.0"
- val guava = "16.0.1"
+ val guava = "19.0"
val guice = "4.0"
val jackson = "2.8.4"
val jodaConvert = "1.2"
@@ -59,7 +60,7 @@ lazy val versions = new {
val logback = "1.1.7"
val mockito = "1.9.5"
val mustache = "0.8.18"
- val nscalaTime = "1.6.0"
+ val nscalaTime = "2.14.0"
val scalaCheck = "1.13.4"
val scalaGuice = "4.1.0"
val scalaTest = "3.0.0"
@@ -88,6 +89,8 @@ lazy val baseSettings = Seq(
"org.mockito" % "mockito-core" % versions.mockito % "test",
"org.scalacheck" %% "scalacheck" % versions.scalaCheck % "test",
"org.scalatest" %% "scalatest" % versions.scalaTest % "test",
+ "org.specs2" %% "specs2-core" % versions.specs2 % "test",
+ "org.specs2" %% "specs2-junit" % versions.specs2 % "test",
"org.specs2" %% "specs2-mock" % versions.specs2 % "test"
),
resolvers ++= Seq(
@@ -96,7 +99,12 @@ lazy val baseSettings = Seq(
),
scalaCompilerOptions,
javacOptions in (Compile, compile) ++= Seq("-source", "1.8", "-target", "1.8", "-Xlint:unchecked"),
- javacOptions in doc ++= Seq("-source", "1.8")
+ javacOptions in doc ++= Seq("-source", "1.8"),
+ // broken in 2.12 due to: https://issues.scala-lang.org/browse/SI-10134
+ scalacOptions in (Compile, doc) ++= {
+ if (scalaVersion.value.startsWith("2.12")) Seq("-no-java-comments")
+ else Nil
+ }
)
lazy val publishSettings = Seq(
@@ -270,13 +278,15 @@ lazy val injectCore = (project in file("inject/inject-core"))
"com.google.inject.extensions" % "guice-multibindings" % versions.guice,
"com.twitter" %% "util-app" % versions.utilVersion,
"com.twitter" %% "util-core" % versions.utilVersion,
+ "com.twitter" %% "util-slf4j-api" % versions.utilVersion,
"commons-io" % "commons-io" % versions.commonsIo,
"javax.inject" % "javax.inject" % "1",
"joda-time" % "joda-time" % versions.jodaTime,
"com.github.nscala-time" %% "nscala-time" % versions.nscalaTime,
"net.codingwell" %% "scala-guice" % versions.scalaGuice,
- "org.clapper" %% "grizzled-slf4j" % versions.grizzled,
"org.joda" % "joda-convert" % versions.jodaConvert,
+ "org.clapper" %% "grizzled-slf4j" % versions.grizzled,
+ "org.scala-lang" % "scalap" % scalaVersion.value,
"com.google.inject" % "guice" % versions.guice % "test",
"com.google.inject.extensions" % "guice-testlib" % versions.guice % "test"
),
@@ -394,7 +404,6 @@ lazy val injectSlf4j = (project in file("inject/inject-slf4j"))
moduleName := "inject-slf4j",
ScoverageKeys.coverageExcludedPackages := "<empty>;.*LoggerModule.*;.*Slf4jBridgeUtility.*",
libraryDependencies ++= Seq(
- "org.clapper" %% "grizzled-slf4j" % versions.grizzled,
"org.slf4j" % "jcl-over-slf4j" % versions.slf4j,
"org.slf4j" % "jul-to-slf4j" % versions.slf4j,
"org.slf4j" % "log4j-over-slf4j" % versions.slf4j,
@@ -537,10 +546,9 @@ lazy val jackson = project
"com.fasterxml.jackson.core" % "jackson-databind" % versions.jackson,
"com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % versions.jackson,
"com.fasterxml.jackson.module" %% "jackson-module-scala" % versions.jackson,
- "org.scala-lang" % "scalap" % scalaVersion.value exclude("org.scala-lang", "scala-compiler"),
+ "org.scala-lang" % "scalap" % scalaVersion.value,
"com.twitter" %% "finagle-http" % versions.finagleVersion,
- "com.twitter" %% "util-core" % versions.utilVersion,
- "com.twitter.finatra" %% "finatra-scalap-compiler-deps" % "2.0.0"
+ "com.twitter" %% "util-core" % versions.utilVersion
),
// special-case to only scaladoc what's necessary as some of the tests cannot generate scaladocs
sources in Test in doc := {
@@ -733,7 +741,7 @@ lazy val helloWorldHeroku = (project in file("examples/hello-world-heroku"))
name := "hello-world-heroku",
moduleName := "hello-world-heroku",
libraryDependencies ++= Seq(
- "com.github.rlazoti" %% "finagle-metrics" % "0.0.3"
+ "com.github.rlazoti" %% "finagle-metrics" % "0.0.8"
)
).dependsOn(
http % "test->test;compile->compile",
@@ -13,8 +13,9 @@ There are lots of improvements in this release. Please checkout the [v2.1.3](htt
As always, you can download the release from [Maven Central][maven-central].
-See the Finatra [Github page](https://github.com/twitter/finatra) or checkout our [User Guide](/finatra/user-guide) for more information on getting started.
+See the Finatra [Github page](https://github.com/twitter/finatra) or checkout our [User's Guide](/finatra/user-guide/index.html) for more information on getting started.
-- The [Finatra](https://groups.google.com/forum/#!forum/finatra-users) Team
-[maven-central]: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.3%22
+[maven-central]: https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.3%22
+[user-guide]: /finatra/user-guide/index.html
@@ -11,12 +11,13 @@ author: cacoco
There are lots of improvements in this release as we focused on making bringing thrift server support to parity with http server support. Please checkout the [v2.1.4](https://github.com/twitter/finatra/releases/tag/v2.1.4) release tag on github for more information.
-We've now also documented building thrift servers with Finatra: http://twitter.github.io/finatra/user-guide/build-new-thrift-server/.
+We've now also documented building thrift servers with Finatra: https://twitter.github.io/finatra/user-guide/thrift/server.html.
As always, you can download the release from [Maven Central][maven-central].
-See the Finatra [Github page](https://github.com/twitter/finatra) or checkout our [User Guide](/finatra/user-guide) for more information on getting started.
+See the Finatra [Github page](https://github.com/twitter/finatra) or checkout our [User's Guide][user-guide] for more information on getting started.
-- The [Finatra](https://groups.google.com/forum/#!forum/finatra-users) Team
-[maven-central]: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.4%22
+[maven-central]: https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.4%22
+[user-guide]: /finatra/user-guide/index.html
@@ -15,8 +15,9 @@ In addition to lots of code improvements, we've addressed an issue in building o
As always, you can download the release from [Maven Central][maven-central].
-See the Finatra [Github page](https://github.com/twitter/finatra) or check out our [User Guide](/finatra/user-guide) for more information on getting started.
+See the Finatra [Github page](https://github.com/twitter/finatra) or check out our [User's Guide][user-guide] for more information on getting started.
-- The [Finatra](https://groups.google.com/forum/#!forum/finatra-users) Team
-[maven-central]: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.5%22
+[maven-central]: https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.5%22
+[user-guide]: /finatra/user-guide/index.html
@@ -11,8 +11,10 @@ Our upcoming release: `v2.1.6` will be our final release to support Scala 2.10 a
Java 7 reached its [end-of-life in April 2015](https://java.com/en/download/faq/java_7.xml) and we would like to begin using the Java 8 libraries in earnest. Once Scala 2.12 is released, we plan to add support for cross-compiling Scala 2.11 and 2.12. Until 2.12 is released we will only be supporting Scala 2.11.
-For more information see the Finagle blog post: http://finagle.github.io/blog/2016/04/20/scala-210-and-java7/
+For more information see the Finagle blog post: https://finagle.github.io/blog/2016/04/20/scala-210-and-java7/
-As always, you can check out the Finatra [Github page](https://github.com/twitter/finatra) or our [User Guide](/finatra/user-guide) for more information on getting started.
+As always, you can check out the Finatra [Github page](https://github.com/twitter/finatra) or our [User's Guide][user-guide] for more information on getting started.
-- The Finatra Team | [forum](https://groups.google.com/forum/#!forum/finatra-users) | [@finatra](https://twitter.com/finatra) | [chat](https://gitter.im/twitter/finatra)
+
+[user-guide]: /finatra/user-guide/index.html
@@ -13,8 +13,9 @@ As [previously noted](/finatra/blog/2016/04/26/announcing-our-final-scala-2-dot-
Please checkout the [v2.1.6](https://github.com/twitter/finatra/releases/tag/finatra-2.1.6) release notes on github for more information. As always, you can download the release from [Maven Central][maven-central].
-See the Finatra [Github page](https://github.com/twitter/finatra) or checkout our [User Guide](/finatra/user-guide) for more information on getting started.
+See the Finatra [Github page](https://github.com/twitter/finatra) or checkout our [User's Guide][user-guide] for more information on getting started.
-- The Finatra Team | [forum](https://groups.google.com/forum/#!forum/finatra-users) | [@finatra](https://twitter.com/finatra) | [chat](https://gitter.im/twitter/finatra)
-[maven-central]: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.6%22
+[maven-central]: https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.twitter.finatra%22%20AND%20v%3A%222.1.6%22
+[user-guide]: /finatra/user-guide/index.html
Oops, something went wrong.

0 comments on commit 4c26bdf

Please sign in to comment.