additional flutter analyzer tests (#588)

diff --git a/test/flutter_analysis_server_test.dart b/test/flutter_analysis_server_test.dart
index 28cfb4a..d48d18b 100644
--- a/test/flutter_analysis_server_test.dart
+++ b/test/flutter_analysis_server_test.dart
@@ -4,9 +4,13 @@
 
 library services.flutter_analyzer_server_test;
 
+import 'package:dart_services/src/common.dart';
 import 'package:dart_services/src/analysis_server.dart';
-import 'package:dart_services/src/protos/dart_services.pb.dart' as proto;
+import 'package:dart_services/src/common_server_impl.dart';
+import 'package:dart_services/src/common_server_api.dart';
 import 'package:dart_services/src/flutter_web.dart';
+import 'package:dart_services/src/protos/dart_services.pbserver.dart';
+import 'package:dart_services/src/server_cache.dart';
 import 'package:dart_services/src/sdk_manager.dart';
 import 'package:test/test.dart';
 
@@ -198,11 +202,12 @@
 void main() => defineTests();
 
 void defineTests() {
-  AnalysisServerWrapper analysisServer;
-  FlutterWebManager flutterWebManager;
-
   group('Flutter SDK analysis_server', () {
+    AnalysisServerWrapper analysisServer;
+    FlutterWebManager flutterWebManager;
+
     setUp(() async {
+      await SdkManager.flutterSdk.init();
       flutterWebManager = FlutterWebManager(SdkManager.flutterSdk);
       await flutterWebManager.warmup();
       analysisServer = AnalysisServerWrapper(
@@ -226,8 +231,58 @@
       expect(results.issues, isEmpty);
     });
   });
+
+  group('CommonServerImpl flutter analyze', () {
+    CommonServerImpl commonServerImpl;
+    FlutterWebManager flutterWebManager;
+
+    _MockContainer container;
+    _MockCache cache;
+
+    setUp(() async {
+      await SdkManager.flutterSdk.init();
+      container = _MockContainer();
+      cache = _MockCache();
+      flutterWebManager = FlutterWebManager(SdkManager.flutterSdk);
+      commonServerImpl =
+          CommonServerImpl(sdkPath, flutterWebManager, container, cache);
+      await commonServerImpl.init();
+    });
+
+    tearDown(() async {
+      await commonServerImpl.shutdown();
+      await flutterWebManager.dispose();
+    });
+
+    test('analyze counter app', () async {
+      final results =
+          await commonServerImpl.analyze(SourceRequest()..source = counter);
+      expect(results.issues, isEmpty);
+    });
+
+    test('analyze Draggable Physics sample', () async {
+      final results = await commonServerImpl
+          .analyze(SourceRequest()..source = draggableAndPhysics);
+      expect(results.issues, isEmpty);
+    });
+  });
 }
 
-bool completionsContains(proto.CompleteResponse response, String expected) =>
-    response.completions
-        .any((completion) => completion.completion['completion'] == expected);
+class _MockContainer implements ServerContainer {
+  @override
+  String get version => vmVersion;
+}
+
+class _MockCache implements ServerCache {
+  @override
+  Future<String> get(String key) => Future.value(null);
+
+  @override
+  Future set(String key, String value, {Duration expiration}) => Future.value();
+
+  @override
+  Future remove(String key) => Future.value();
+
+  @override
+  Future<void> shutdown() => Future.value();
+}