@Test
  public void getRichTextImageHasCorrectUrl() throws RepositoryException, RichTextException {
    final RichTextImage image =
        new RichTextImage("/content/gallery/image.png/image.png", "image.png");
    image.setSelectedResourceDefinition("hippogallery:original");

    final IRichTextImageFactory mockImageFactory = EasyMock.createMock(IRichTextImageFactory.class);
    expect(mockImageFactory.loadImageItem(eq("image.png/{_document}/hippogallery:original")))
        .andReturn(image);

    final IRichTextLinkFactory mockLinkFactory = EasyMock.createMock(IRichTextLinkFactory.class);
    expect(mockLinkFactory.getLinkUuids())
        .andReturn(Collections.singleton("0e8a928c-b83f-4bb9-9e52-1a22b7e9ee21"));

    final Node documentNode = MockNode.root();
    final Node imageFacetNode = documentNode.addNode("image.png", HippoNodeType.NT_FACETSELECT);
    imageFacetNode.setProperty(HippoNodeType.HIPPO_DOCBASE, "0e8a928c-b83f-4bb9-9e52-1a22b7e9ee21");

    final IModel<Node> mockNodeModel = EasyMock.createMock(IModel.class);
    expect(mockNodeModel.getObject()).andReturn(documentNode).anyTimes();

    final RichTextImageURLProvider urlProvider =
        new RichTextImageURLProvider(mockImageFactory, mockLinkFactory, mockNodeModel);

    replay(mockImageFactory, mockLinkFactory, mockNodeModel);

    model = new RichTextImageMetaDataModel(delegate, urlProvider);
    delegate.setObject("<img src=\"image.png/{_document}/hippogallery:original\"/>");

    assertEquals(
        "<img src=\"binaries/content/gallery/image.png/image.png/hippogallery:original\" data-facetselect=\"image.png/{_document}/hippogallery:original\" data-type=\"hippogallery:original\"/>",
        model.getObject());
  }