def METHOD_NAME(self):
    dontcare, uploads_dir = get_mountpoint('uploads')[0]
    foo_fp = os.path.join(uploads_dir, '1', 'foo.txt')
    bar_fp = os.path.join(uploads_dir, '1', 'bar.txt')
    with open(foo_fp, 'w') as fp:
        fp.write("@x\nATGC\n+\nHHHH\n")
    with open(bar_fp, 'w') as fp:
        fp.write("@x\nATGC\n+\nHHHH\n")
    prep = StringIO(EXP_PREP_TEMPLATE.format(1))
    prep_table = load_template_to_dataframe(prep)
    response = self.post('/api/v1/study/1/preparation?data_type=16S',
                         data=prep_table.T.to_dict(),
                         headers=self.headers, asjson=True)
    prepid = json_decode(response.body)['id']
    uri = '/api/v1/study/1/preparation/%d/artifact' % prepid
    # 1 -> fwd or rev sequences in fastq
    # 3 -> barcodes
    body = {'artifact_type': 'FASTQ', 'filepaths': [['foo.txt', 1],
                                                    ['bar.txt',
                                                     'raw_barcodes']],
            'artifact_name': 'a name is a name'}
    response = self.post(uri, data=body, headers=self.headers, asjson=True)
    self.assertEqual(response.code, 201)
    obs = json_decode(response.body)['id']
    prep_instance = PrepTemplate(prepid)
    exp = prep_instance.artifact.id
    self.assertEqual(obs, exp)