Exemplo n.º 1
0
                        MediaCoreDAO.saveContentRevisionId(mediaCoreId, content.id, content.latestRevisionId, function(err) {
                            assert.ok(!err);

                            // Ensure an invalid id results in a 400
                            RestAPI.MediaCore.notifyEncodingComplete(user.restContext, 'not-an-id', function(err) {
                                assert.ok(err);
                                assert.equal(err.code, 400);

                                // Ensure a non-existing id results in a 404
                                RestAPI.MediaCore.notifyEncodingComplete(user.restContext, 0, function(err) {
                                    assert.ok(err);
                                    assert.equal(err.code, 404);

                                    var fetchedThumbnails = false;

                                    // Add a handler that listens for the expected thumbnail request returning a successful response
                                    mediaCoreApp.get('/api2/media/:mediaCoreId/thumbs', function(req, res) {
                                        res.status(200).send({'sizes': {}});
                                    });

                                    RestAPI.MediaCore.notifyEncodingComplete(user.restContext, mediaCoreId, function(err) {
                                        assert.ok(!err);
                                        return callback();
                                    });
                                });
                            });
                        });
Exemplo n.º 2
0
                    RestAPI.MediaCore.notifyEncodingComplete(user.restContext, 'not-an-id', err => {
                      assert.ok(err);
                      assert.strictEqual(err.code, 400);

                      // Ensure a non-existing id results in a 404
                      RestAPI.MediaCore.notifyEncodingComplete(user.restContext, 0, err => {
                        assert.ok(err);
                        assert.strictEqual(err.code, 404);

                        const fetchedThumbnails = false;

                        // Add a handler that listens for the expected thumbnail request returning a successful response
                        mediaCoreApp.get('/api2/media/:mediaCoreId/thumbs', (req, res) => {
                          res.status(200).send({ sizes: {} });
                        });

                        RestAPI.MediaCore.notifyEncodingComplete(
                          user.restContext,
                          mediaCoreId,
                          err => {
                            assert.ok(!err);
                            return callback();
                          }
                        );
                      });
                    });
Exemplo n.º 3
0
                              err => {
                                assert.ok(!err);

                                // Set up the embedcode handlers for the cambridge and gatech MediaCore instances
                                mediaCoreApp.get(
                                  '/api2/media/:mediaCoreId/embedcode',
                                  (req, res) => {
                                    assert.strictEqual(req.params.mediaCoreId, '12345');
                                    res.status(200).send({
                                      html: '<iframe src="http://cambridge.mediacore.tv"></iframe>'
                                    });
                                  }
                                );

                                gtMediaCoreApp.get(
                                  '/api2/media/:mediaCoreId/embedcode',
                                  (req, res) => {
                                    assert.strictEqual(req.params.mediaCoreId, '67890');
                                    res.status(200).send({
                                      html: '<iframe src="http://gatech.mediacore.tv"></iframe>'
                                    });
                                  }
                                );

                                // Access the cambridge tenant file with the gatech user to ensure the request still goes to the cambridge MediaCore instance
                                RestAPI.MediaCore.getEmbedCode(
                                  gtUser.restContext,
                                  camContent.id,
                                  (err, embedCode) => {
                                    assert.ok(!err);
                                    assert.strictEqual(
                                      embedCode.html.indexOf(
                                        '<iframe src="http://cambridge.mediacore.tv'
                                      ),
                                      0
                                    );

                                    RestAPI.MediaCore.getEmbedCode(
                                      camUser.restContext,
                                      gtContent.id,
                                      (err, embedCode) => {
                                        assert.ok(!err);
                                        assert.strictEqual(
                                          embedCode.html.indexOf(
                                            '<iframe src="http://gatech.mediacore.tv'
                                          ),
                                          0
                                        );
                                        return callback();
                                      }
                                    );
                                  }
                                );
                              }
Exemplo n.º 4
0
                                        ContentDAO.Previews.storeMetadata(content, content.latestRevisionId, 'done', null, null, {'mediaCoreId': 12345}, {}, function(err) {
                                            assert.ok(!err);

                                            // Now getting the embed code as the user that created the content item should be successful
                                            RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, function(err, embedCode) {
                                                assert.ok(!err);
                                                assert.ok(embedCode);
                                                assert.ok(embedCode.html);
                                                return callback();
                                            });
                                        });
Exemplo n.º 5
0
                err => {
                  assert.ok(err);
                  assert.strictEqual(err.code, 404);

                  // Verify we get 400 when fetching embed code for content item who doesn't have a mediaCoreId
                  RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, err => {
                    assert.ok(err);
                    assert.strictEqual(err.code, 400);

                    // Get the embed code as anonymous to ensure they cannot
                    RestAPI.MediaCore.getEmbedCode(camAnonymousRestContext, content.id, err => {
                      assert.ok(err);
                      assert.strictEqual(err.code, 401);

                      // Get the embed code as another unauthorized user to ensure they cannot
                      RestAPI.MediaCore.getEmbedCode(
                        unauthorizedUser.restContext,
                        content.id,
                        err => {
                          assert.ok(err);
                          assert.strictEqual(err.code, 401);

                          // Set a MediaCore id on the content item
                          ContentDAO.Previews.storeMetadata(
                            content,
                            content.latestRevisionId,
                            'done',
                            null,
                            null,
                            { mediaCoreId: 12345 },
                            {},
                            err => {
                              assert.ok(!err);

                              // Now getting the embed code as the user that created the content item should be successful
                              RestAPI.MediaCore.getEmbedCode(
                                user.restContext,
                                content.id,
                                (err, embedCode) => {
                                  assert.ok(!err);
                                  assert.ok(embedCode);
                                  assert.ok(embedCode.html);
                                  return callback();
                                }
                              );
                            }
                          );
                        }
                      );
                    });
                  });
                }
Exemplo n.º 6
0
                        MediaCoreDAO.saveContentRevisionId(mediaCoreId, content.id, content.latestRevisionId, function(err) {
                            assert.ok(!err);

                            // Add a handler that listens for the expected thumbnail request returning a successful response
                            mediaCoreApp.get('/api2/media/:mediaCoreId/thumbs', function(req, res) {
                                res.status(502).send({'sizes': {}});
                            });

                            // Cause the thumbnails to be updated
                            RestAPI.MediaCore.notifyEncodingComplete(user.restContext, mediaCoreId, function(err) {
                                assert.ok(err);
                                assert.equal(err.code, 500);
                                return callback();
                            });
                        });
Exemplo n.º 7
0
                            err => {
                              assert.ok(!err);

                              // Now getting the embed code as the user that created the content item should be successful
                              RestAPI.MediaCore.getEmbedCode(
                                user.restContext,
                                content.id,
                                (err, embedCode) => {
                                  assert.ok(!err);
                                  assert.ok(embedCode);
                                  assert.ok(embedCode.html);
                                  return callback();
                                }
                              );
                            }
Exemplo n.º 8
0
                  err => {
                    assert.ok(!err);

                    // Add a handler that listens for the expected thumbnail request returning a successful response
                    mediaCoreApp.get('/api2/media/:mediaCoreId/thumbs', (req, res) => {
                      res.status(502).send({ sizes: {} });
                    });

                    // Cause the thumbnails to be updated
                    RestAPI.MediaCore.notifyEncodingComplete(user.restContext, mediaCoreId, err => {
                      assert.ok(err);
                      assert.strictEqual(err.code, 500);
                      return callback();
                    });
                  }
Exemplo n.º 9
0
                                RestAPI.MediaCore.notifyEncodingComplete(user.restContext, 0, function(err) {
                                    assert.ok(err);
                                    assert.equal(err.code, 404);

                                    var fetchedThumbnails = false;

                                    // Add a handler that listens for the expected thumbnail request returning a successful response
                                    mediaCoreApp.get('/api2/media/:mediaCoreId/thumbs', function(req, res) {
                                        res.status(200).send({'sizes': {}});
                                    });

                                    RestAPI.MediaCore.notifyEncodingComplete(user.restContext, mediaCoreId, function(err) {
                                        assert.ok(!err);
                                        return callback();
                                    });
                                });
Exemplo n.º 10
0
                    ContentDAO.Previews.storeMetadata(content, content.latestRevisionId, 'done', null, null, {'mediaCoreId': 12345}, {}, function(err) {
                        assert.ok(!err);

                        // Add a handler for the embed code endpoint that returns 200 but invalid JSON
                        mediaCoreApp.get('/api2/media/:mediaCoreId/embedcode', function(req, res) {
                            assert.equal(req.params.mediaCoreId, 12345);
                            res.status(502).send({'reason': 'you are DOSd'});
                        });

                        // Verify we get 500 when fetching embed code for a MediaCore server that has gone awry
                        RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, function(err) {
                            assert.ok(err);
                            assert.equal(err.code, 500);
                            return callback();
                        });
                    });
Exemplo n.º 11
0
                    ContentDAO.Previews.storeMetadata(content, content.latestRevisionId, 'done', null, null, {'mediaCoreId': 12345}, {}, function(err) {
                        assert.ok(!err);

                        // Add a handler for the embed code endpoint that returns 200 but invalid JSON
                        mediaCoreApp.get('/api2/media/:mediaCoreId/embedcode', function(req, res) {
                            assert.equal(req.params.mediaCoreId, 12345);
                            res.status(200).send('not valid json');
                        });

                        // Verify we get 500 because the MediaCore response was not valid JSON
                        RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, function(err) {
                            assert.ok(err);
                            assert.equal(err.code, 500);
                            return callback();
                        });
                    });
Exemplo n.º 12
0
              err => {
                assert.ok(!err);

                // Add a handler for the embed code endpoint that returns 200 but invalid JSON
                mediaCoreApp.get('/api2/media/:mediaCoreId/embedcode', (req, res) => {
                  assert.strictEqual(req.params.mediaCoreId, '12345');
                  res.status(200).send('not valid json');
                });

                // Verify we get 500 because the MediaCore response was not valid JSON
                RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, err => {
                  assert.ok(err);
                  assert.strictEqual(err.code, 500);
                  return callback();
                });
              }
Exemplo n.º 13
0
              err => {
                assert.ok(!err);

                // Add a handler for the embed code endpoint that returns 200 but invalid JSON
                mediaCoreApp.get('/api2/media/:mediaCoreId/embedcode', (req, res) => {
                  assert.strictEqual(req.params.mediaCoreId, '12345');
                  res.status(502).send({ reason: 'you are DOSd' });
                });

                // Verify we get 500 when fetching embed code for a MediaCore server that has gone awry
                RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, err => {
                  assert.ok(err);
                  assert.strictEqual(err.code, 500);
                  return callback();
                });
              }
Exemplo n.º 14
0
                        MediaCoreDAO.saveContentRevisionId(mediaCoreId, content.id, content.latestRevisionId, function(err) {
                            assert.ok(!err);

                            // Add a handler that listens for the expected thumbnail request returning a successful response
                            mediaCoreApp.get('/api2/media/:mediaCoreId/thumbs', function(req, res) {
                                res.status(200).send({
                                    'sizes': {
                                        'l': 'http://path/to/large/image',
                                        '720p': 'http://path/to/720p/image'
                                    }
                                });
                            });

                            // Ensure a non-existing id results in a 404
                            RestAPI.MediaCore.notifyEncodingComplete(user.restContext, mediaCoreId, function(err) {
                                assert.ok(!err);

                                RestAPI.Content.getContent(user.restContext, content.id, function(err, content) {
                                    assert.ok(!err);
                                    assert.ok(content.previews);

                                    // Verify the URIs are not returned in the preview model
                                    assert.ok(!content.previews.smallUri);
                                    assert.ok(!content.previews.mediumUri);
                                    assert.ok(!content.previews.largeUri);
                                    assert.ok(!content.previews.wideUri);

                                    // Verify the URLs. The "remote" backend simply uses the location part as-is so the url should just be the
                                    // direct links to the files
                                    assert.equal(content.previews.smallUrl, 'http://path/to/large/image');
                                    assert.equal(content.previews.mediumUrl, 'http://path/to/720p/image');
                                    assert.equal(content.previews.largeUrl, 'http://path/to/720p/image');
                                    assert.equal(content.previews.wideUrl, 'http://path/to/720p/image');

                                    return callback();
                                });
                            });
                        });
Exemplo n.º 15
0
                                  (err, embedCode) => {
                                    assert.ok(!err);
                                    assert.strictEqual(
                                      embedCode.html.indexOf(
                                        '<iframe src="http://cambridge.mediacore.tv'
                                      ),
                                      0
                                    );

                                    RestAPI.MediaCore.getEmbedCode(
                                      camUser.restContext,
                                      gtContent.id,
                                      (err, embedCode) => {
                                        assert.ok(!err);
                                        assert.strictEqual(
                                          embedCode.html.indexOf(
                                            '<iframe src="http://gatech.mediacore.tv'
                                          ),
                                          0
                                        );
                                        return callback();
                                      }
                                    );
                                  }
Exemplo n.º 16
0
                RestAPI.Content.createFile(user.restContext, 'test video', null, 'private', _getVideoStream, null, null, null, function(err, content) {
                    assert.ok(!err);

                    // Add a handler for the embed code endpoint that simply returns a 200 and some dummy embed source
                    mediaCoreApp.get('/api2/media/:mediaCoreId/embedcode', function(req, res) {
                        assert.equal(req.params.mediaCoreId, 12345);
                        res.status(200).send({
                            'html': '<iframe src="http://www.google.ca?test=true"></iframe>'
                        });
                    });

                    // Verify we get 400 when fetching embed code for a non-resource id
                    RestAPI.MediaCore.getEmbedCode(user.restContext, 'not-an-id', function(err) {
                        assert.ok(err);
                        assert.equal(err.code, 400);

                        // Verify we get 404 when fetching embed code for non-existing content item
                        RestAPI.MediaCore.getEmbedCode(user.restContext, 'c:camtest:non-existing-content', function(err) {
                            assert.ok(err);
                            assert.equal(err.code, 404);

                            // Verify we get 400 when fetching embed code for content item who doesn't have a mediaCoreId
                            RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, function(err) {
                                assert.ok(err);
                                assert.equal(err.code, 400);

                                // Get the embed code as anonymous to ensure they cannot
                                RestAPI.MediaCore.getEmbedCode(camAnonymousRestContext, content.id, function(err) {
                                    assert.ok(err);
                                    assert.equal(err.code, 401);

                                    // Get the embed code as another unauthorized user to ensure they cannot
                                    RestAPI.MediaCore.getEmbedCode(unauthorizedUser.restContext, content.id, function(err) {
                                        assert.ok(err);
                                        assert.equal(err.code, 401);

                                        // Set a MediaCore id on the content item
                                        ContentDAO.Previews.storeMetadata(content, content.latestRevisionId, 'done', null, null, {'mediaCoreId': 12345}, {}, function(err) {
                                            assert.ok(!err);

                                            // Now getting the embed code as the user that created the content item should be successful
                                            RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, function(err, embedCode) {
                                                assert.ok(!err);
                                                assert.ok(embedCode);
                                                assert.ok(embedCode.html);
                                                return callback();
                                            });
                                        });
                                    });
                                });
                            });
                        });
                    });
                });
Exemplo n.º 17
0
                                        RestAPI.Content.setPreviewItems(gtAdminRestContext, gtContent.id, gtContent.latestRevisionId, 'done', {}, {}, {}, {'mediaCoreId': 67890}, function(err) {
                                            assert.ok(!err);

                                            // Set up the embedcode handlers for the cambridge and gatech MediaCore instances
                                            mediaCoreApp.get('/api2/media/:mediaCoreId/embedcode', function(req, res) {
                                                assert.equal(req.params.mediaCoreId, 12345);
                                                res.status(200).send({'html': '<iframe src="http://cambridge.mediacore.tv"></iframe>'});
                                            });

                                            gtMediaCoreApp.get('/api2/media/:mediaCoreId/embedcode', function(req, res) {
                                                assert.equal(req.params.mediaCoreId, 67890);
                                                res.status(200).send({'html': '<iframe src="http://gatech.mediacore.tv"></iframe>'});
                                            });

                                            // Access the cambridge tenant file with the gatech user to ensure the request still goes to the cambridge MediaCore instance
                                            RestAPI.MediaCore.getEmbedCode(gtUser.restContext, camContent.id, function(err, embedCode) {
                                                assert.ok(!err);
                                                assert.strictEqual(embedCode.html.indexOf('<iframe src="http://cambridge.mediacore.tv'), 0);

                                                RestAPI.MediaCore.getEmbedCode(camUser.restContext, gtContent.id, function(err, embedCode) {
                                                    assert.ok(!err);
                                                    assert.strictEqual(embedCode.html.indexOf('<iframe src="http://gatech.mediacore.tv'), 0);
                                                    return callback();
                                                });
                                            });
                                        });
Exemplo n.º 18
0
                                RestAPI.MediaCore.getEmbedCode(camAnonymousRestContext, content.id, function(err) {
                                    assert.ok(err);
                                    assert.equal(err.code, 401);

                                    // Get the embed code as another unauthorized user to ensure they cannot
                                    RestAPI.MediaCore.getEmbedCode(unauthorizedUser.restContext, content.id, function(err) {
                                        assert.ok(err);
                                        assert.equal(err.code, 401);

                                        // Set a MediaCore id on the content item
                                        ContentDAO.Previews.storeMetadata(content, content.latestRevisionId, 'done', null, null, {'mediaCoreId': 12345}, {}, function(err) {
                                            assert.ok(!err);

                                            // Now getting the embed code as the user that created the content item should be successful
                                            RestAPI.MediaCore.getEmbedCode(user.restContext, content.id, function(err, embedCode) {
                                                assert.ok(!err);
                                                assert.ok(embedCode);
                                                assert.ok(embedCode.html);
                                                return callback();
                                            });
                                        });
                                    });
                                });