Ejemplo n.º 1
0
def mock_urlretrieve(*args, **kwargs):
    mock_record1 = example_boutiques_tool
    mock_record2 = MockZenodoRecord(
        2587160, "makeblastdb_foo", "", "https://zenodo.org/api/files/"
        "d861b2cd-ec68-4613-9847-1911904a1218/"
        "makeblastdb.json")
    temp = tempfile.NamedTemporaryFile(delete=False, mode='w+t')
    if str(example_boutiques_tool.id) in args[0]:
        json.dump(mock_zenodo_search([mock_record1]).mock_json, temp)
        temp.close()
        return urlretrieve("file://%s" % temp.name, args[1])
    if "makeblastdb.json" in args[0]:
        json.dump(mock_zenodo_search([mock_record2]).mock_json, temp)
        temp.close()
        return urlretrieve("file://%s" % temp.name, args[1])
    return urlretrieve(args[0], args[1])
Ejemplo n.º 2
0
def mock_get(*args, **kwargs):

    # Check that URL looks good
    split = args[0].split('/')
    assert (len(split) >= 5)

    command = split[4]
    # Records command
    if command == "records":
        assert (len(split) >= 6)
        record_id = split[10] if len(split) > 6 else split[5]
        if record_id == "00000":
            # Inexistent tool
            return MockHttpResponse(404)
        mock_record1 = example_boutiques_tool
        mock_record1.id = int(record_id)
        if record_id == "22222":
            mock_record1.is_last_version = False
        mock_get = get_zenodo_record(mock_record1)
        if "?q=keywords:" in args[0]:
            return mock_zenodo_search([mock_record1])
        return MockHttpResponse(200, mock_get)

    # Deposit command
    if command == "deposit":
        # Check auth
        if kwargs.get('params') and kwargs.get('params').get('access_token'):
            return MockHttpResponse(200)
        else:
            return MockHttpResponse(401)
Ejemplo n.º 3
0
def mock_get(query, exact, *args, **kwargs):
    max_results = args[0].split("=")[-1]

    # Long description text to test truncation
    long_description = ("Lorem ipsum dolor sit amet, consectetur adipiscing "
                        "elit, sed do eiusmod tempor incididunt ut labore et "
                        "dolore magna aliqua. Ut enim ad minim veniam, quis "
                        "nostrud exercitation ullamco laboris nisi ut aliquip "
                        "ex ea commodo consequat.")

    mock_records = []
    # Return an arbitrary list of results with length max_results
    if query == "boutiques":
        for i in range(0, int(max_results)):
            mock_records.append(
                MockZenodoRecord(i, "Example Tool %s" % i, long_description,
                                 "exampleTool%s.json" % i, i))
    # Return only records containing the query
    else:
        mock_records.append(MockZenodoRecord(1234567, query))
        if not exact:
            mock_records.append(MockZenodoRecord(1234568, "foo-" + query))
            mock_records.append(MockZenodoRecord(1234569, query + "-bar"))

    return mock_zenodo_search(mock_records)
Ejemplo n.º 4
0
def mock_get(*args, **kwargs):
    query = args[0].split("=")[1]
    query = query[:query.find("&")]
    query = query.replace("*", '')

    mock_records = []
    # Return an arbitrary list of results
    for i in range(0, 10):
        mock_records.append(MockZenodoRecord(i, "Example Tool %s" % i))
    return mock_zenodo_search(mock_records)
Ejemplo n.º 5
0
def mock_get():
    mock_record = MockZenodoRecord(1472823, "Example Boutiques Tool", "",
                                   "https://zenodo.org/api/files/"
                                   "e5628764-fc57-462e-9982-65f8d6fdb487/"
                                   "example1_docker.json")
    return mock_zenodo_search([mock_record])
Ejemplo n.º 6
0
def mock_get():
    return mock_zenodo_search([example_boutiques_tool])
Ejemplo n.º 7
0
def mock_get_not_found():
    return mock_zenodo_search([])