public void CreateBundleId_SameFriendlyName_DifferentBundleIdsWithoutSpacesAndSlashes() { var suffixGenerator = new SuffixGenerator(); var target = new BundleIdGenerator(suffixGenerator); var friendlyName = @".this is the : _ // """" ? * a friendly name"; var actual = target.CreateBundleId(friendlyName); Assert.NotEqual(target.CreateBundleId(friendlyName), actual); Assert.StartsWith("this_is_the_a_friendly_name_", actual); }
public SymsorterBatchFinalizer( IMetricsPublisher metrics, IOptions <SymbolServiceOptions> options, ISymbolGcsWriter gcsWriter, BundleIdGenerator bundleIdGenerator, IHub hub, ILogger <SymsorterBatchFinalizer> logger) { _options = options?.Value ?? throw new ArgumentNullException(nameof(options)); _metrics = metrics; _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _gcsWriter = gcsWriter ?? throw new ArgumentNullException(nameof(gcsWriter)); _bundleIdGenerator = bundleIdGenerator; _hub = hub; if (!File.Exists(_options.SymsorterPath)) { throw new ArgumentException($"Symsorter not found at: {_options.SymsorterPath}"); } _symsorterOutputPath = Path.Combine(_options.BaseWorkingPath, "symsorter_output"); Directory.CreateDirectory(_symsorterOutputPath); }