Promise.all(promises).then((resp) => {
   let session = RNFetchBlob.session(sessionName).add(resp[1].path())
   resp[2].session(sessionName)
   let actual = session.list()
   let expect = resp.map((p) => {
     return p.path()
   })
   report(
     <Assert key="check if session state correct"
       expect={expect}
       comparer={Comparer.equalToArray}
       actual={actual} />)
   done()
 })
  .then((resps) => {
    let s = RNFetchBlob.session(sessionName)
    report(
      <Assert
        key="list() length validation"
        expect={10}
        actual={s.list().length}/>)
    let modified = [
      s.list()[2],
      s.list()[3],
      s.list()[4],
      s.list()[5],
      s.list()[6],
      s.list()[7],
      s.list()[8],
      s.list()[9],
    ]
    let expect = [s.list()[0], s.list()[1]]
    s.remove(s.list()[0])
    s.remove(s.list()[0])
    report(
      <Assert
        key="remove() should work correctly"
        expect={modified}
        comparer={Comparer.equalToArray}
        actual={s.list()}/>)

    s.dispose()
      .then(() => {
        return fs.ls(baseDir)
      })
      .then((lsRes) => {
        report(
          <Assert
            key="dispose() should work correctly"
            expect={expect}
            comparer={Comparer.equalToArray}
            actual={lsRes.map((p) => {
              return baseDir + '/' + p
            })}/>)
        done()
      })

  })